Главная страница
    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.5 MB
Время: 0.031 c
14-1094100676
Rule
2004-09-02 08:51
2004.09.19
Вопрос к жителям юга Украины, вчастности Одессы, Кречи и


14-1093077816
ASilver
2004-08-21 12:43
2004.09.19
Удалённое администрирование.


14-1093346330
0d08h
2004-08-24 15:18
2004.09.19
Java Socket


8-1088506058
sashok
2004-06-29 14:47
2004.09.19
Перетаскивание изображения мышкой.


1-1094461758
GriS
2004-09-06 13:09
2004.09.19
изменение http_referrer





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