![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Помогите пожалуйста создать собственное диалоговое окно вот код функции
Код:
function INISDersi(TextOkno:String;TextButton1,TextButton2:String;TextMemo:String):Boolean; begin Form3.DialogButtons1.CaptionOk:=TextButton1; Form3.DialogButtons1.CaptionCancel:=TextButton2; Form3.Caption:=TextOkno; Form3.Memo1.Lines.Text:=TextMemo; loadIniLData; end; Где именно нужно вызывать модальную форму и как ее закрыть после того как нажмеца кнопка вернув функции либо True при нажатии на ok либо False при нажатии на Отмена |
|
#2
|
||||
|
||||
|
после/вместо loadIniLData:
Код:
Form1.Button1.ModalResult:=mrOk; Form1.Button2.ModalResult:=mrCancel; Result:=Form1.ShowModal=mrOk; |
|
#3
|
||||
|
||||
|
Код:
Form1.Button1.ModalResult:=mrOk; Form1.Button2.ModalResult:=mrCancel; Result:=Form1.ShowModal=mrOk; Скажи что этот код делает каждая строчка что делает loadIniLData; - процедура считывания из ини файла текстов Код:
procedure loadIniLData;
var tyjk:Integer;
begin
IniLData:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'LibxEditFiles\параметры Save\Language.LData');
CodesLancLibxStrocaStr:=IniLData.ReadString('Код_Удаления_Строки_По_Коду','Код','Fred');
CodesLancLibxStrocaInt:=Length(CodesLancLibxStrocaStr);
codesIniLDataStr1:=codesIniLDataStr;
MaxLancLibxStrocaInt:=IniLData.ReadInteger('Seve Language Libx','MaximumLangLibx',20);
SetLength(DinamikIniLanguage,MaxLancLibxStrocaInt);
for tyjk := 0 to MaxLancLibxStrocaInt do begin
codesIniLDataStr1:=IniLData.ReadString('Seve Language Libx',codesIniLDataStr+inttostr(tyjk),'');
codesIniLDataStr2:=codesIniLDataStr1;
System.Delete(codesIniLDataStr2,Pos(CodesLancLibxStrocaStr,codesIniLDataStr2),length(codesIniLDataStr2));
System.Delete(codesIniLDataStr1,1,System.Pos(CodesLancLibxStrocaStr,codesIniLDataStr1)+CodesLancLibxStrocaInt-1);
DinamikIniLanguage[tyjk]:=codesIniLDataStr2;
Form3.ComboBox1.Items.Add(codesIniLDataStr1);
Form3.ComboBox1.ItemIndex:=0;
end;
IniLData.Free;
end;Последний раз редактировалось Admin, 13.06.2013 в 13:47. |
|
#4
|
||||
|
||||
|
Спасибо огромное все работает.
|
|
#5
|
||||
|
||||
|
Есть функция
Код:
Function ShowStateDialog1(TextForm,LBL1,LBL2,LBL3:String;LBLB2,ED2,LBLB3,ED3:Boolean):Boolean; begin Form3.Label1.Caption:=LBL1; Form3.Label2.Caption:=LBL2; Form3.Label3.Caption:=LBL3; Form3.Caption:=TextForm; Form3.Label2.Enabled:=LBLB2; Form3.Label3.Enabled:=LBLB3; Form3.Edit2.Enabled:=ED2; Form3.Edit3.Enabled:=ED3; end; надо вызвать модальное окно и при если будет нажата кнопка ок вернуть функции значения. Как это сделать |
|
#6
|
||||
|
||||
|
проверить результат ShowModal
|
|
#7
|
||||
|
||||
|
Цитата:
Код:
Function ShowStateDialog1(TextForm,LBL1:String):String; begin Form3.Label1.Caption:=LBL1; end; Надо запустить модальным окном и как только будет нажатоа ок то возвращаем функции то что написано в Edit. не спрашивайте почему я решил свое делать. просто мне свое нужно |
|
#8
|
||||
|
||||
|
заVARите нужные переменные в объявлении функции.
|
|
#9
|
||||
|
||||
|
Код:
Function ShowStateDialog1(TextForm,LBL1:String):String;
begin
Form3.Label1.Caption:=LBL1;
Form3.Button1.ModalResult:=mrOk;
Form3.Button2.ModalResult:=mrCancel;
If Form3.ShowModal=mrOk then
Result:=Form3.Edit1.Text
else Result:='';
end;А случаем не так |
|
#10
|
||||
|
||||
|
Цитата:
Код:
Function ShowStateDialog1(Var TextForm,LBL1:String):String;
begin
Form3.Label1.Caption:=LBL1;
Form3.Button1.ModalResult:=mrOk;
Form3.Button2.ModalResult:=mrCancel;
If Form3.ShowModal=mrOk then
Result:=Form3.Edit1.Text
else Result:='';
end; |
|
#11
|
||||
|
||||
|
Примерно так
Код:
Function ShowStateDialog1(TextForm: string; var LBL1:String): boolean;
begin
Result:= false;
if Form3.Button1.ModalResult= mrOk then
begin
LBL1:= Form3.Edit2.Text;
Result:= true;
end;
if Form3.Button1.ModalResult= mrCancel then exit;
end;
// пример вызова
var
s: string
begin
if ShowStateDialog1('бла-бла', s) then Edit22.Text:= s;
end;З.Ы. Ми пардоне, не заметил Цитата:
var - когда нужно вернуть из функции значений больше чем одно Const - чтоб быть уверенным что переданное значение не изменится без всего - просто передать параметры Последний раз редактировалось Alegun, 25.06.2013 в 17:11. |