Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: CL | DM;

Вниз

Проблемма с Function. Подскажите что я сделал не так .   Найти похожие ветки 

 
slivka   (2003-11-09 22:50) [0]

Подскажите почему при компиляции этого кода выскакивает ошибка "незадекларированный идентификатор Edit1" ?


procedure TForm1.FormCreate(Sender: TObject);
begin
if (ComboBox1.itemindex=-1) then ComboBox1.itemindex := 255;
ComboBox2.items[ComboBox1.itemindex] := ComboBox2.Text;
ComboBox2.items.LoadFromFile ("mac.txt");
end;
//до этой строки все правильно

Function ReadComputerName:string;
var
size:DWORD;
bufer:PChar;
begin
size:=255;
GetMem(bufer, size);
GetComputerName(bufer, size);
Result:=String(bufer);
FreeMem(bufer);
Edit1.Text := Result; //А вот здесь ошибка.

end;


При этом если убрать строку Edit1.Text:= Result; то компиляция проходит нормально.
Как же тогда результат вывести ?


 
Плохиш_   (2003-11-09 22:58) [1]

Удалено модератором


 
Дубинин Алексей ©   (2003-11-09 23:04) [2]

Напиши лучше так:


Function ReadComputerName:string;
var
bufer:array[0..255] of Char;
begin
GetMem(bufer, sizeOf(buffer));
GetComputerName(bufer, sizeOf(buffer));
Result:=String(bufer);
FreeMem(bufer);
end;

{!} Edit1.Text := Result;//А вот этого в процедуре делать не стоит. Данную строку выброси в другое место кода.
И будет выглядеть так: Edit1.Text := ReadComputerName;


 
slivka   (2003-11-09 23:04) [3]

Как же тогда результат вывести?

А насчет мозгов ты прав они в положении OFF.


 
Вася Пупкин ©   (2003-11-09 23:05) [4]

Form1.Edit1.Text если уж так хочется -)


 
Плохиш_   (2003-11-09 23:11) [5]


> slivka (09.11.03 23:04) [3]


Ну Дубинин Алексей © уже ответил?


> Вася Пупкин © (09.11.03 23:05) [4]


Я бы порекомендовал всякие строки типа var Form1:TForm1; сразу же из кода модулей удалять. Меньше проблем будет в будущем, да и для алгоритмов программ здоровее ;-)


 
slivka   (2003-11-09 23:18) [6]

Ну вобщем то компилируется если записать так:

Form1.Edit1.Text:= ReadComputerName;

или так:

Form1.Edit1.Text:= result;

Вот только имя компа в Edit1.Text не выводится.
Почему....?


 
Плохиш_   (2003-11-09 23:23) [7]


> slivka (09.11.03 23:18) [6]

с учётом

> slivka (09.11.03 23:04) [3]

> А насчет мозгов ты прав они в положении OFF.


можно сказать только одно: Утро вечера мудренее.


 
default ©   (2003-11-09 23:27) [8]

Удалено модератором


 
Stratos ©   (2003-11-09 23:30) [9]

и книжку по ООП почитать...


 
sniknik ©   (2003-11-09 23:37) [10]

сделай так чтобы в описании функции присутствовало
Function TForm1.ReadComputerName:string;
поможет в поисках -> slivka (09.11.03 23:18) [6] > Почему....?


 
Вася Пупкин ©   (2003-11-10 00:19) [11]

Function ReadComputerName:string;
var
size:DWORD;
bufer:PChar;
begin
size:=255;
GetMem(bufer, size);
GetComputerName(bufer, size);
Result:=String(bufer);
FreeMem(bufer);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ReadComputerName;
end;


 
slivka   (2003-11-10 01:18) [12]

я все сделал точно так-же, прям один в один.
Но имя компа почему-то не записалось в Edit1.Text.
поэтому пришлось пойти другим путем:


procedure TForm1.FormCreate(Sender: TObject);
var reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey("SYSTEM\ControlSet001\Services\Tcpip\Parameters",false);
Edit1.text := reg.ReadString("HostName");
reg.CloseKey;
reg.free

end;


 
default ©   (2003-11-10 01:19) [13]

извращенец ты)


 
Плохиш_   (2003-11-10 01:50) [14]

>slivka (10.11.03 01:18) [12]

Тогда уж CurrentControlSet
;-)

>default © (10.11.03 01:19) [13]

Не приставай. Человек по крайней мере сам думает ;-)



Страницы: 1 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
6-66027
Borealis
2003-09-26 10:30
2003.11.20
Отключение открытых файлов сетевых ресурсов


3-65705
SasaR
2003-10-29 17:22
2003.11.20
DBF, кириллица


1-66004
RuslanKad
2003-11-09 19:59
2003.11.20
Проблемы с ToolBar в Win95


1-65828
AlexanderSK
2003-11-06 14:44
2003.11.20
Проблемма с SaveDialog.


1-65968
programmerts
2003-11-11 11:01
2003.11.20
РАбота с TListBox открытие файла