![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите вывесте переменную в Label2
вот код Код:
function hddser:string; var SerialNum : dword; a, b : dword; Buffer : array [0..255] of char; begin if GetVolumeInformation(pchar('c:\'), Buffer, SizeOf(Buffer), @SerialNum, a, b, nil, 0) then result := IntToStr(SerialNum); end; begin if FileExists('c:\1.txt') then ShowMessage('Файл c:\1.txt существует') else begin Num:=(hddser); Label2.Caption:=Num; y:=5; z:=2455560128; x:= strtoint(Num) + z * y; id:= inttostr(x); with TStringList.Create do try Num:=(hddser); Add(id); SaveToFile('C:\1.txt'); finally Free; end; end; end. вот ошибка с лога [Error] Unit1.pas(45): Undeclared identifier: 'Label2' надо вывести без процетуры onclick в ходе запуска программы Последний раз редактировалось Admin, 23.10.2011 в 18:15. |
#2
|
|||
|
|||
![]() Так исходя из ошибки, Label2 у вас не существует. Чтоб он у вас его увидел, обращаться нужно через имя формы - Form1.Label2
А при запуске - в событии onCreate |
#3
|
|||
|
|||
![]() Благодарю за каректировку я так прописывал тоже ошибка
если можно, то по подробнее о 'onCreate' буду признателен за простецкий пример. |
#4
|
|||
|
|||
![]() Num у вас что? строка? число? Какое значение?
Выделите форму свою, откройте инспектор объектов, перейдите на вкладку событий (events) найдите OnCreate и создайте обработчик этого события, дважды щелкнув по полю справа |
#5
|
|||
|
|||
![]() Используй не OnCreate, а OnShow - предположительно на момент создания формы Label2 еще не создан.
Последний раз редактировалось m1sclick, 23.10.2011 в 19:42. |
#6
|
|||
|
|||
![]() переменная Num integer
сделал процедуру oncreate и вот лог [Warning] Unit1.pas(48): Constant expression violates subrange bounds [Error] Unit1.pas(61): Statement expected but 'PROCEDURE' found [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' |
#7
|
|||
|
|||
![]() Кхм.....
Код:
begin if GetVolumeInformation(pchar('c:\'), Buffer, SizeOf(Buffer), @SerialNum, a, b, nil, 0) then result := IntToStr(SerialNum); end; begin if FileExists('c:\1.txt') then Также. А нормально то что: Num: integer, а result := IntToStr(SerialNum); - тоесть String? Дальше...... Код:
Label2.Caption:=Num; x:= strtoint(Num) + z * y; И еще Код:
SerialNum : dword; | | \/ result := IntToStr(SerialNum) Ты уверен что: Цитата:
Дальше. Зачем вызываешь: Код:
with TStringList.Create do try Num:=(hddser); Add(id); SaveToFile('C:\1.txt'); finally Free; end; Касательно Цитата:
Цитата:
http://forum.sources.ru/index.php?showtopic=167280 - особенно обрати внимание на Сообщ. #2. И вообще, зачем нужна функция если у тебя там одна строчка кода, не считая объявления переменных? Выложи весь код - это значительно упростит разгадывание твоей загадки. Последний раз редактировалось m1sclick, 23.10.2011 в 20:47. |
#8
|
|||
|
|||
![]() Благодарю всех за помощь, я вчера прописал OnCreate сразу после функции и туда подвязал оставшийся код и все пошло... а насчет buffer проштудирую.
|
#9
|
|||
|
|||
![]() помогите как можно в конструкция if then else внести обработчик событий кнопки.
|
#10
|
|||
|
|||
![]() Если я правильно понимаю твой вопрос, то ты хочешь сделать конструкцию вида:
Код:
if <если по кнопке кликнули> then begin //какой-то код end else begin //какой-то код end; Код:
//Обработчик OnClick для кнопки 1 и 2 procedure TForm1.Button2Click(Sender: TObject); begin if (Sender as TButton).Name='Button1' then ShowMessage('Вы кликнули по кнопке 1'); if (Sender as TButton).Name='Button2' then ShowMessage('Вы кликнули по кнопке 2'); end; |
#11
|
|||
|
|||
![]() маленько не то объясню на примере условие если есть c:\1.txt то бла бла бла а вот если его нет то тут после else мне надо сделать действие оно включается если я закрываю конструкцию if then else а это не точто мне нужно да и даже если истина там в одном участке нужено будет вставить подобное действие.
Код:
if FileExists('c:\1.txt')then begin //какой-то код end else begin procedure TForm1.Button1Click(Sender: TObject); begin //какой-то код end; end; |
#12
|
||||
|
||||
![]() Можно, но только немножко не так:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin //какой-то код end; ... if FileExists('c:\1.txt')then begin //какой-то код end else begin Form1.Button1Click(Sender); end; ... Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#13
|
|||
|
|||
![]() Программно нажать на кнопку можно так
Код:
Form1.Button1.Click; |
#14
|
|||
|
|||
![]() если программно то можно обойтись и без нее просто прописать действия а мне нужно что бы пользователь нажал ее и запустил эти действия.
|
#15
|
|||
|
|||
![]() сейчас попробую
|