Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi | PChar into Cardinal

Ответить
Настройки темы
Delphi - Delphi | PChar into Cardinal

Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Чо-т голова совсем не варит... Как из PChar (или PAnsiChar) "сделать" тип Cardinal/Integer? Ну, к примеру, когда посылаешь сообщение WM_SETTEXT в lParam надо впихнуть указатель на строку, а в функции SendMessage lParam объявлен как Integer. Аналогично если действовать через TControl.Perform, то там lParam объявлен как Cardinal.

Отправлено: 14:33, 11-01-2005

 

Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Netscaper
Можешь еще помочь? Как изменить порядок элементов в Form1.Controls[k] ? А то у меня с 0 по 4 идут TLabel, с 5 по 14 TImage, а потом снова продолжаются TLabel, но уже и вперемешку с TStaticText . И так я уже замучался сотню TLabel в TStaticText "переделывать", так тут еще фигня появилась. Пытался редактировать файл *.dfm, но он по-видимому не является определяющим в этом вопросе.

Отправлено: 22:49, 13-01-2005 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Netscaper

Пользователь


Сообщения: 84
Благодарности: 0

Профиль | Отправить PM | Цитировать


Не очень понял смысл использования свойства Form.Controls... Почему нельзя написать Form.Label1 или Form.StaticText?
Цитата:
Пытался редактировать файл *.dfm, но он по-видимому не является определяющим в этом вопросе.
Да, ты прав... Действительно, создается «от балды»... Влияет только на невизуальные компоненты, а на визуальные - нет. Порядок создания невизуальных можно менять в «Edit - Creation Order». Что, собственно, возвращает к вопросу о том, почему нельзя обращаться напрямую к Label или StaticText.

Отправлено: 23:27, 13-01-2005 | #12


Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Netscaper
Цитата:
Не очень понял смысл использования свойства Form.Controls
У меня на форме МНОГО однотипных элементов всего четырёх "видов" (Label, StaticText, Edit, Image). Поэтому обращаться к ним ТАК
Код: Выделить весь код
.........
Form1.Label1.Caption:="...";
Form1.Label2.Caption:="...";
...
Form1.Label20.Caption:="..";
.........
было бы не очень удобно и приятно.
Гораздо эффективнее так:
Код: Выделить весь код
const a: array[1..20] of String = (...);
...........
for i:=0 to 19 do
  Form1.Controls[i].SetTextBuf(PChar(a[i+1]));
Аналогично мне надо одновременно сменить "жирность" шрифта у нескольких стоящий подряд StaticText. Так вот этого удобного порядка не получается, часть элементов у меня перемешались. А вот найти где этот порядок? Я по-моеему уже все перекопал, что в папке с моим проектом лежит...

Отправлено: 23:40, 13-01-2005 | #13


Аватара для Netscaper

Пользователь


Сообщения: 84
Благодарности: 0

Профиль | Отправить PM | Цитировать


Но ты можешь сделать так:
Код: Выделить весь код
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
  for i:=1 to 20 do
    (FindComponent('Label'+IntToStr(i)) as TLabel).Caption := IntToStr(i);
end;

Отправлено: 00:00, 14-01-2005 | #14


Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Netscaper
Полностью согласен, я несколько ранее рассматривал различные варианты реализации нужного мне алгоритма, но по скорости выиграл Form1.Controls[k].SetTextBuf(PChar(a[k+1])); Не люблю перескакивать с одного на другое когда уже готово приличное кол-во кода, но видимо придется, раз нет возможности изменить порядок следования элементов в Form1.Controls[k].

Но вот для смены "жирности" шрифта он, кажется, мне подходит. Почему-то про него я забыл.

Отправлено: 00:29, 14-01-2005 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi | PChar into Cardinal

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Delphi | UpperCase на Delphi 7 Cognolio Программирование и базы данных 3 26-01-2006 15:42
Delphi - Delphi Zx Программирование и базы данных 3 27-08-2003 10:19
Delphi - Delphi Surround Программирование и базы данных 10 27-06-2003 17:58
PChar khvalera Программирование и базы данных 4 22-06-2003 18:12
Delphi - Delphi Roman Go Программирование и базы данных 11 11-12-2002 14:43




 
Переход