![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Делаю игру. [D7, WinME]
Lolik © (2005-01-12 15:43:00)Уважаемый мастера помогите мне пожалуйста.Я делаю игру в ней в Label загружается случайная строка из файла. Как сделать так что бы после нажатия на Label программа проверила есть ли в этой строке знак * то в лабел должна загрузиться 6 или 11 или 18 строка из файла.
Gero (2005-01-12 19:47:00) [1]
> begin...end © (12.01.05 19:21)
Ну как я понял автор сего кода подразумевал, что Str — это TStringList, но забывает его объявить, и в целях экономии памяти и объема кода не использует дополнительной переменной, обращаясь к созданному экземпляру TStringList посредством конструкции with.
begin...end (2005-01-12 19:21:00) [2]> [10] Gero © (12.01.05 19:17)
В смысле?
Gero (2005-01-12 19:17:00) [3]
> begin...end © (12.01.05 19:10)
Ага, а виной всему with TStringList.Create do.
begin...end (2005-01-12 19:10:00) [4]> [8] MacroDenS © (12.01.05 19:08)
Ставлю на такой вариант: "Undeclared identifier: Str".
MacroDenS (2005-01-12 19:08:00) [5]
>>Ваш код не работает. Программа не запускается из за этих строк
А что говорит при запуске???
avi (2005-01-12 18:21:00) [6]Александр Иванов
Ваш код не работает. Программа не запускается из за этих строк
0:(Sender as TLabel).Caption:=Str[6];
1:(Sender as TLabel).Caption:=Str[11];
2:(Sender as TLabel).Caption:=Str[18];
raidan (2005-01-12 16:38:00) [7]"Кто хочет стать миллионером" :spy: :)
TButton (2005-01-12 16:34:00) [8]
> Я даже знаю, как она называется.
и?
begin...end (2005-01-12 16:15:00) [9]> Поручик © (12.01.05 15:53) [2]
Ты чего Pos так не любишь?
begin...end (2005-01-12 15:56:00) [10]> Lolik (12.01.05 15:43)
> Я делаю игру
Я даже знаю, как она называется.
Александр Иванов (2005-01-12 15:53:00) [11]procedure TForm1.Label1Click(Sender: TObject);
begin
if Pos('*',(Sender as TLabel).Caption) <> 0 then
begin
with TStringList.Create do
begin
try
LoadFromFile('ttt.txt');
Randomize;
case Random(3) of
0:(Sender as TLabel).Caption:=Str[6];
1:(Sender as TLabel).Caption:=Str[11];
2:(Sender as TLabel).Caption:=Str[18];
end;
finally
Free;
end;
end;
end;
end;
Поручик (2005-01-12 15:53:00) [12]В цикле проверять каждый символ в Caption
Напрмер так
Var
S: string;
i: integer;
begin
s := label1.caption;
for i:=1 to length(s) do
if s[i]='*' then
// дальше, то что надо тебе