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

Вниз

Не могу разобратся с простым кодом (Бегущая строка из DelphiWorld   Найти похожие ветки 

 
mmms-   (2006-09-15 11:47) [0]

procedure TForm1.Timer1Timer(Sender: TObject);
const
 LengthGoString = 10;
 Gostring = "Этот код был взят с проекта Delphi World"+
 " Выпуск 2002 - 2003! Этот код б";
 // Повторить столько символов - сколько в LengthGoString
const
 i: Integer = 1;
begin
 Label1.Caption := Copy(GoString, i, LengthGoString);
 Inc(i);
 if Length(GoString) - LengthGostring < i then
   i:=1;
end;


Во первых не компилируется, ошибка с константой i, пробую вывести ее в переменную, тоже ничего не наблюдается..


 
Sam Stone ©   (2006-09-15 11:49) [1]

Переменные константы вроде бы можно только глобальные объявлять.
i у тебя локальная, поэтому при каждом срабатывании таймера в ней черт знает что (теоретически 1 из-за const i: Integer = 1;)


 
Zeqfreed ©   (2006-09-15 11:58) [2]

В Delphi нет статических локальных переменных. Тебе нужно объявить i либо глобально, либо полем формы. Присваивать значение константе, разумеется, нельзя. Поэтому код и не компилируется.


 
default ©   (2006-09-15 12:27) [3]

да и сам код фигня
вот поставим, например, LengthGoString = 3; и получим ерунду, лучше самому писать, тем более такой простой код


 
Нулевой ©   (2006-09-15 12:50) [4]

А так?

...
var
 Form1: TForm1;
 i: Integer = 1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
const
 LengthGoString = 10;
 Gostring = "Этот код был взят с проекта Delphi World" +
   " Выпуск 2002 - 2003! Этот код б";
 // Повторить столько символов - сколько в LengthGoString
begin
 //i:=1;
 Label1.Caption := Copy(GoString, i, LengthGoString);
 Inc(i);
 if Length(GoString) - LengthGostring < i then
   i := 1;
end;
...


 
default ©   (2006-09-15 12:55) [5]

Нулевой ©   (15.09.06 12:50) [4]
компилиться-то будет, но если надо чтобы код работал для различных значений LengthGoString = 10; надо код переписать


 
Нулевой ©   (2006-09-15 12:58) [6]


> default ©   (15.09.06 12:55) [5]

Согласен, пусть пишет!
> Во первых не компилируется, ошибка с константой i


 
han_malign ©   (2006-09-15 13:28) [7]

{$WRITEABLECONST ON}

> чтобы код работал для различных значений LengthGoString

в тупую:

len:= LengthGostring - Length(GoString);
if(len < 0)then len:= 0;

Label1.Caption := Copy(GoString, i + 1, Length(GoString)) + DupeString(" ", len) + Copy(GoString, 1, i);
i:= ( i  + 1 ) mod Length(GoString);



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

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

Наверх




Память: 0.46 MB
Время: 0.051 c
3-1155098797
al_tor
2006-08-09 08:46
2006.10.08
Ошибка при вызове ADOQuery


2-1158766989
Image
2006-09-20 19:43
2006.10.08
Кто нибудь знает как сохранить форму вместе со всем содержимым в


2-1158580517
Id
2006-09-18 15:55
2006.10.08
Картинка в BLOB-e


6-1146944800
Satanist
2006-05-06 23:46
2006.10.08
Словить сlick в WebBrowser


15-1158440180
Германн
2006-09-17 00:56
2006.10.08
Самопроизвольно перегружается компьютер WinXP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский