только начала изучать делфи и вот столкнулась с таким заданием
Самостоятельное задание
Создайте новое приложение. Установите на форму компоненты DateTimePicker, Memo и кнопку, чтобы добавлять в Memo1 строки. Вначале добавьте строку с текущей датой в формате, принятом в русских версиях Windows (функция DateToStr(Date)). Затем добавьте пустую строку, чтобы отделить ее от выводимых далее форматов. Затем придумайте 10 разных форматов для функции FormatDateTime(),и поочередно добавьте их в Memo1 с той датой, которая указана в DateTimePicker1. Кстати, чтобы не писать длинные названия, вроде
DateTimePicker1.Date
переименуйте компонент (свойство Name) в более короткое имя, например, DTP1, тогда обращение получится короче:
DTP1.Date
я так думаю, что нужен цикл, но как его правильно организовать, чтобы строки со всеми 10 форматами добавлялись не разом, а поочередно при каждом нажатии кнопки. Думаю, можеn добавить дополнит.элемент на форму, радиобаттон например... хотя в задании этого не дано...
Помогите пожалуйста бедной девушке с севера...
Memo: поочередно добавлять строки. Как организовать?
Не нужен там цикл. Можно, например, ввести переменную (скажем, i) и массив из 10 разных форматов. При щелчке на кнопке добавляем строку с i-м форматом и увеличиваем i на 1
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 5
- Зарегистрирован: 15 май 2010, 13:48
спасибо за ответ! сейчас попробую, но не понимаю, как без цикла...
-
- Сообщения: 5
- Зарегистрирован: 15 май 2010, 13:48
Вы так имели в виду:
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte;
a: array [1..4] of string;
begin
a[1]:='dd mm yy';
a[2]:='dd mm yyyy';
a[3]:='dd mmm yy';
a[4]:='dd mmm yyyy';
Memo1.Lines.Add(FormatDateTime(a,DateTimePicker1.Date));
i:=i+1;
end;
Так не работает ((( добавляет символы <E, почему?
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte;
a: array [1..4] of string;
begin
a[1]:='dd mm yy';
a[2]:='dd mm yyyy';
a[3]:='dd mmm yy';
a[4]:='dd mmm yyyy';
Memo1.Lines.Add(FormatDateTime(a,DateTimePicker1.Date));
i:=i+1;
end;
Так не работает ((( добавляет символы <E, почему?
var i:byte=1; a: array [1..4] of string; - это выносится в основную программу
a[1]:='dd mm yy';
a[2]:='dd mm yyyy';
a[3]:='dd mmm yy';
a[4]:='dd mmm yyyy';
А это - например, в Form1.Create;
Memo1.Lines.Add(FormatDateTime(a,DateTimePicker1.Date));
i:=i+1;
А это остается в Button1.Click
Потому что иначе переменная i у вас создается внутри и никак не инициализируется - в ней скорее всего 0. А а[0] пустое.
a[1]:='dd mm yy';
a[2]:='dd mm yyyy';
a[3]:='dd mmm yy';
a[4]:='dd mmm yyyy';
А это - например, в Form1.Create;
Memo1.Lines.Add(FormatDateTime(a,DateTimePicker1.Date));
i:=i+1;
А это остается в Button1.Click
Потому что иначе переменная i у вас создается внутри и никак не инициализируется - в ней скорее всего 0. А а[0] пустое.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 5
- Зарегистрирован: 15 май 2010, 13:48
спасибо большое, теперь дошло )))