IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Сравнение дат
Atreides
сообщение 19.01.2010 22:27
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Как сравнить дату из ячейки стрингрида формата дд.мм.гггг со значение взятым из комбокса месяцем и из едита года? Без учета числа.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Atreides
сообщение 20.01.2010 20:14
Сообщение #2


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Да, не подумал, сразу, зря тему только открыл. Собрал дату вот так:

procedure TForm2.ComboBox1Change(Sender: TObject);
var MonthSelected: Integer;

begin
MonthSelected := Form2.ComboBox1.ItemIndex + 1;
// Edit2.Text := FloatToStr(MonthSelected);
end;



procedure TForm2.Button2Click(Sender: TObject);
var
kod,provodka, ID_prov, oth :string; //
i,j, ID_OTCHM, coma:integer; //
vid, vnod, IDProv, god:string; //
namestat:string[30]; // имя станции
st:string; // запрос строкой
deb:string; // дебед - сумма
data1, data2:string;

MonthSelected: Integer; //месяц
MonthSelected1: string;
begin
data1:=Form2.StringGrid1.Cells[3,2];
Form2.Edit2.text:=Form2.StringGrid1.Cells[3,2];

MonthSelected := Form2.ComboBox1.ItemIndex + 1; //получаем значение месяца
MonthSelected1:=FloatToStr(MonthSelected);
data2:=MonthSelected1 + '.' +Edit1.text;
Form2.Edit3.text:=data2;
// if data1<>data2 then
// ShowMessage('указанная дата занрузки не соотвествует');

// if data1=data2 then

Только проблема. Как мне у даты из СтрингГрида формата дд.мм.гггг отбить дни, чтобы сравнить уже дату формата мм.гггг? И еще проблема – у меня месяца которые просто единицы идут с нулем, а комбобокс мне возвращает просто одно число, как нолик подставить там, где это нужно? Как выплнить оставку от дальнейшего выполнения, если даты не соответствуют?

И еще немножко не в тему, но дабы не плодить темы. Есть текстовый файл, В нем в столбик уложены значения 13 символов длиной. Я разбиваю их на первые 7 и укладываю в стрингГрид, оставшиеся 6 во второй столбик, там, где только первых 7 я пропускаю. Вот написал, только пишет мне все подряд и то местами не все. В чем косяк, найти не могу.
 procedure TForm5.Button1Click(Sender: TObject);
var
infile:textfile;
s,str,cod7,cod6:string;
x,num_lines:integer;
line: string;
i:integer;

begin
Form5.StringGrid1.Cells[0,0]:='Семизначный код станции';
Form5.StringGrid1.Cells[1,0]:='Шестизначный код станции';
assignfile(infile, 'D:\КОАСУФР\tbk');
reset(infile);
read(infile,str);
while not Eof(infile) do
begin
if length(str) > 7 then
for i:=1 to StringGrid1.RowCount-1 do
begin
//
cod7:= copy(str,1,7);
Readln(infile, str);
Form5.StringGrid1.Cells[0,i]:=cod7;
cod6:= copy(str,8,6);
Form5.StringGrid1.Cells[1,i]:=cod6;
Readln(infile, str);
end;
end;
end;
// Close(infile);


Сообщение отредактировано: volvo - 5.04.2010 15:35


Прикрепленные файлы
Прикрепленный файл  tbk.txt ( 13.98 килобайт ) Кол-во скачиваний: 191


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.07.2025 16:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"