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

Вниз

Продлема с StrToDate   Найти похожие ветки 

 
nick-from ©   (2004-09-02 12:04) [0]

Есть функция, возвращающая дату, которая считывается из txt-файла:

function aaa(var f: textfile): TDate;
var
 st: string;
begin
 ..... // Считывание даты в st;
 Result := StrToDate(st);
end;

И такая фигня - функция на выходе дает абы что: 53789 - что-то вроде того, причем дата нормально считывается; st = 01.01.01
Из-за чего такая ерунда возможна, подскажите пожалуйста.

Сделал процедурой - передаю в нее еще и структуру, куда дату потом присваиваю, все работает ок.
begin
 ..... // Считывание даты в st;
 aStruct.Date1 := StrToDate(st);
end;


 
clickmaker ©   (2004-09-02 12:10) [1]


> функция на выходе дает абы что: 53789

Так это и есть дата в числовом представлении
В строковом - DateToStr()


 
Nick-From ©   (2004-09-02 12:15) [2]

так мне надо ведь именно StrToDate


 
Nick-From ©   (2004-09-02 12:17) [3]

Процедурой - тоже не работает :(


 
Алхимик ©   (2004-09-02 12:18) [4]

TDate + F1


 
Алхимик ©   (2004-09-02 12:19) [5]


> функция на выходе дает абы что: 53789

Это число дней прошедших с 01.01.1899 (точно не помню)
Смотри формат TDate и TDateTime


 
Nick-From ©   (2004-09-02 12:20) [6]

TDate is a used to represent a date.


 
clickmaker ©   (2004-09-02 12:22) [7]


> [2] Nick-From ©   (02.09.04 12:15)

не понимаю, что тебя смущает. Это и есть дата. Дата - это же число дней, начиная с определенного момента


 
Nick-From ©   (2004-09-02 12:24) [8]

Просто потом, когда я ее хочу вывести и делаю DateToStr, выдается ошибка [][].[][].[][] is not a valid date
И я не пойму что это за дела, объясните дураку, пожалуйста


 
Алхимик ©   (2004-09-02 12:26) [9]


> [8] Nick-From ©   (02.09.04 12:24)
> Просто потом, когда я ее хочу вывести и делаю DateToStr,
> выдается ошибка [][].[][].[][] is not a valid date
> И я не пойму что это за дела, объясните дураку, пожалуйста

Пример кода давай.


 
Nick-From ©   (2004-09-02 12:36) [10]

Мля, мужики, заработало :), не подумайте, что прикалывался, сам не знаю, шо це за bug. Код вот:

function p_ReadDate(var f: TextFile): TDate;
var
 st: string[8];
 c: char;
begin
 st := "";
 Read(f, c);
   if c = " "
     then while(c = " ") and Not Eoln(f) do Read(f, c);
 st := st + c;
 Read(f, c);
 st := st + c;
 Read(f, c);
 st := st + c_DATESEPARATOR;
 Read(f, c);
 st := st + c;
 Read(f, c);
 st := st + c;
 Read(f, c);
 st := st + c_DATESEPARATOR;
 Read(f, c);
 st := st + c;
 Read(f, c);
 st := st + c;
 Result := StrToDate(st);
end;


 
Алхимик ©   (2004-09-02 12:39) [11]

фтопку


 
Nick-From ©   (2004-09-02 12:41) [12]

???


 
Ega23 ©   (2004-09-02 12:41) [13]

Nick-From ©   (02.09.04 12:36) [10]

Это что за хрень?????


 
Nick-From ©   (2004-09-02 12:45) [14]

читаю из txt дату - она в формате dd/mm/yy - а мне недо в dd.mm.yy
c_DATESEPARATOR = "."


 
Nikolay M. ©   (2004-09-02 12:46) [15]


> Ega23 ©   (02.09.04 12:41) [13]

Это он в дате "01.01.01" точки заменяет на разделитель даты :?)
Надо же было так левой ногой почесаться!


 
Nick-From ©   (2004-09-02 12:48) [16]

А как было бы лучше?


 
Ega23 ©   (2004-09-02 12:48) [17]

"Псих." (с) Ёжик в тумане.


 
Ega23 ©   (2004-09-02 12:49) [18]

Nick-From ©   (02.09.04 12:48) [16]

Смотря что тебе надо. Ты ЗАДАЧУ так и не объяснил.


 
Nick-From ©   (2004-09-02 12:53) [19]

Процедура считывания из txt-файла (html) секций (дата, время):
Как будет лучше? я пока только знаю AssignFile, Reset, Read
Вот пример html для считывания:

<tr valign=top>
 <td height=9 colspan=3>
 <td width=89 colspan=3><font size=2 face="Arial">01/01/04 09:07</font>
 <td>
 <td width=125 colspan=4><font size=2 face="Arial">80724221576</font>
 <td>
 <td width=114 colspan=3><font size=2 face="Arial">Белгород</font>
 <td>
 <td width=100 colspan=2><font size=2 face="Arial"> </font>
 <td colspan=2>
 <td width=39><font size=2 face="Arial"> </font>
 <td>
 <td width=49 colspan=4><font size=2 face="Arial">Телеф.</font>
 <td>
 <td width=12 colspan=2><font size=2 face="Arial"> </font>
 <td>
 <td width=50 colspan=3 align=right><font size=2 face="Arial">1: 00</font>
 <td colspan=2>
 <td width=62 colspan=2 align=right><font size=2 face="Arial"> 0.00</font>
 <td colspan=4>
<tr valign=top>


 
VID ©   (2004-09-02 13:21) [20]


function StrReplace(const Str:String; Str1:String; const Str2:string):string;
// str - исходная строка
// str1 - подстрока, подлежащая замене
// str2 - заменяющая строка
var
 P, L : Integer;
begin
 Result := str;
 Str1:=AnsiUpperCase(Str1);
 L := Length(Str1);
 repeat
   P := Pos(Str1, AnsiUpperCase(Result)); // ищем подстроку
   if P > 0 then
   begin
     Delete(Result, P, L); // удаляем ее
     Insert(Str2, Result, P); // вставляем новую
   end;
 until P = 0;
end;

procedure;
var S1,S2:String;
   D:TDate;
begin
 S1 := "01/01/01";
 S2 := StrReplace(S1, "/", DateSeparator);
 D := StrToDate(S2);
end;


 
Vovchik_A ©   (2004-09-02 13:21) [21]

А ShortDateFormat  не устраивает ? Ты , че ваще делаешь ?


 
Ega23 ©   (2004-09-02 13:25) [22]

Vovchik_A ©   (02.09.04 13:21) [21]

НЕ-Е-Е-Е-ЕТ!!!!!! НЕ ТАК!!!!   "В натуре" забыл!
Вот так надо:
Ты , че ваще, В НАТУРЕ, делаешь ?


 
Vovchik_A ©   (2004-09-02 13:26) [23]

Ega23 ©   (02.09.04 13:25) [22]

Олег, 5 баллов :))


 
begin...end ©   (2004-09-02 13:27) [24]


> [20] VID ©   (02.09.04 13:21)

А стандартный StringReplace() чем не устроил-то?


 
VID ©   (2004-09-02 19:32) [25]

begin...end ©   (02.09.04 13:27) [24]
Поддерживаю отечественного производителя :)



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

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

Наверх





Память: 0.51 MB
Время: 0.032 c
1-1094306351
dmk
2004-09-04 17:59
2004.09.19
Application Messages


6-1089773136
RaPToR_1
2004-07-14 06:45
2004.09.19
ошибки в Tclientsocket


14-1093365091
SergP
2004-08-24 20:31
2004.09.19
Автосхема


4-1091477601
akvilon
2004-08-03 00:13
2004.09.19
WndClassEx.cbWndExtra (cbClsExtra)


1-1094202272
yurikon
2004-09-03 13:04
2004.09.19
Много язычное приложение





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