Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Как мне присвоить текст сделанной строки...   Найти похожие ветки 

 
RedDragon   (2004-10-03 21:48) [0]

На данном форуме мне сказали, как по ходу прогона программы создавать какие - нибудь компоненты...
Переделав некоторые детали у меня получился такой код:
procedure TIndex.numberprezidentokClick(Sender: TObject);
var
Prezidents:TEdit;
i:Integer;
begin
numberprezidents:=0;
numberprezidents:=StrToInt(numberprezidentedit.text);
for i:=1 to numberprezidents do
  begin
    Prezidents:=TEdit.Create(Index);
    Prezidents.Parent:=PrezidentsPanel;
    Prezidents.Top:=I*16+26;
    Prezidents.Left:=15;
    Prezidents.Name:="prezidentedit"+InttoStr(I);
    Prezidents.Text:=Кандидат №"+InttoStr(I);
    Prezidents.Width:=170;
    Createprezidentsvote.Visible:=True;
    PrezidentsLabel.Visible:=True;
  end;

end;
Всё получилось, но никто не сказал, как мне присвоить какой -нибудь, например, переменной президент текст, например, 6 строки(при условии, что кандидатов 6 или более).
Сразу говорю, попробуйте сделать это у себя на компьютере и
вот такой вариант не проходит:
prezident1:=prezidentedit1.text;


 
Piter ©   (2004-10-03 22:12) [1]

О боже... я тебя настоятельно рекомендую почитать книги, если ты вообще хочешь разобраться в чем-нибудь. Какие книги тебе нужны пожешь спросить в "Потрепаться" - http://www.delphimaster.ru/cgi-bin/forum.pl?n=3 - только укажи ссылку на эту ветку.

По сабжу - ну сделай хотя бы через динамические массивы:

var
 Prezidents: array of TEdit;
 i:Integer;
begin
 numberprezidents:=StrToInt(numberprezidentedit.text);
 SetLength(Prezidents, numberprezidents);
 for i:=1 to numberprezidents do
   with Prezidents[i-1]
   begin
     Prezidents[i-1] := TEdit.Create(Index);
     Parent := PrezidentsPanel;
     Top := I*16+26;
     Left := 15;
     Name := "prezidentedit"+InttoStr(I);
     Text := Кандидат №"+InttoStr(I);
     Width := 170;
     Createprezidentsvote.Visible := True;
     PrezidentsLabel.Visible := True;
   end;


RedDragon   (03.10.04 21:48)
Всё получилось, но никто не сказал, как мне присвоить какой -нибудь, например, переменной президент текст, например, 6 строки(при условии, что кандидатов 6 или более).


prezident1:=Prezidents[5].text;

Хотя это все ужасно... книги, книги и еще раз книги...


 
GuAV ©   (2004-10-03 22:45) [2]


>    with Prezidents[i-1]
>    begin
>      Prezidents[i-1] := TEdit.Create(Index);

это тоже плохо.
do пропустил.
и используешь несозданный объект. надо сначала сохдать а потом with


 
jack128 ©   (2004-10-03 22:51) [3]

RedDragon   (03.10.04 21:48)
TIndex.NumberPrezidentokClick(

Ты президенток отдельно от президентов считаешь? ;-)


 
Piter ©   (2004-10-04 17:12) [4]

GuAV ©   (03.10.04 22:45) [2]

ну писал с руки... и не хотелось лишний begin...end ставить... все равно ведь работать будет (если do поставить, конечно)


 
GuAV ©   (2004-10-04 19:34) [5]


> все равно ведь работать будет (если do поставить, конечно)

Нет.


 
RedDragon   (2004-10-04 21:32) [6]

Здравствуй GuAV, а скажи как правильно сделать, ты говорил, что
он там ошибку допустил, напиши правильно, ладно??


 
begin...end ©   (2004-10-04 21:35) [7]


> [4] Piter ©   (04.10.04 17:12)


> и не хотелось лишний begin...end ставить...

Так меня ещё никто не игнорировал 8-)


 
Мастер ©   (2004-10-04 21:48) [8]

>RedDragon   (04.10.04 21:32)
Вот тебе 2 варианта, выбирай, какой больше нравится:


1.
procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 for i := 1 to 6 do
 begin
   with TEdit.Create(Form1) do
   begin
     Width := 80;
     Left := I*(Width+10)+10;
     Height := 20;
     Name := "Prezident"+IntToStr(i);
     Text := "Кандидат № "+IntToStr(i);
     Parent := Form1;
     Visible := True;
   end;
 end;

 Label1.Caption := (FindComponent("Prezident1") as TEdit).Text;

end;

2.
procedure TForm1.Button1Click(Sender: TObject);
var
 Ed: TEdit;
 i: Integer;
begin
 for i := 1 to 6 do
 begin
   Ed := TEdit.Create(Form1);
   Ed.Width := 80;
   Ed.Left := I*(Ed.Width+10)+10;
   Ed.Height := 20;
   Ed.Name := "Prezident"+IntToStr(i);
   Ed.Text := "Кандидат № "+IntToStr(i);
   Ed.Parent := Form1;
   Ed.Visible := True;
 end;

 Label1.Caption := (FindComponent("Prezident1") as TEdit).Text;

end;


 
Piter ©   (2004-10-04 22:17) [9]

Ладно, подумав, соглашусь, что работать не будет :)

Тогда так:

for i:=1 to numberprezidents do
 begin
   Prezidents[i-1] := TEdit.Create(Index);
   with Prezidents[i-1]
     begin    
       Parent := PrezidentsPanel;
       Top := I*16+26;
       Left := 15;
       Name := "prezidentedit"+InttoStr(I);
       Text := Кандидат №"+InttoStr(I);
       Width := 170;
       Createprezidentsvote.Visible := True;
       PrezidentsLabel.Visible := True;
  end;


 
Piter ©   (2004-10-04 22:18) [10]

begin...end ©   (04.10.04 21:35) [7]
Так меня ещё никто не игнорировал 8-)


:)))


 
RedDragon   (2004-10-05 22:06) [11]

Я никого не игнорирую, мне просто хорошее решение предложили, вот и всё, ты мне лучше помоги со следующим вопросом, который я задам в другом топике....



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

Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
6-1092226017
Dextor
2004-08-11 16:06
2004.10.17
Вызов функции из библиотеи на лок.компьютере!!!


1-1096366408
JamesBond
2004-09-28 14:13
2004.10.17
Проблема с MDI в DLL


14-1096277367
gn
2004-09-27 13:29
2004.10.17
Я просто тащусь с некрасота чесное слово ;-)


1-1096945516
_Konstantin
2004-10-05 07:05
2004.10.17
Определение платформы.


1-1096621361
-=Evgen=-
2004-10-01 13:02
2004.10.17
Как построить вертикальный график в Fast Report





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский