Конференция "Основная" » StrToDateTime vs Я [D7, WinXP]
 
  • R1ka © (19.07.08 16:33) [0]
    Как бы заставить эту функцию переварить вот такое: "Thu, 24 Apr 2008 06:48:52" ? Уже 10 часов парюсь =(
  • {RASkov} © (19.07.08 16:37) [1]
    Никак. Только свою писать... но тут.... многое зависит)
  • R1ka © (19.07.08 16:52) [2]
    почему никак? FormatDateTime же позволяет создать точно такую же строку, Неужели не предусмотрено обратное действие :(
  • {RASkov} © (19.07.08 17:01) [3]
    > [2] R1ka ©   (19.07.08 16:52)

    Потому как из единственного числа, чем и является дата, можно получить множество разных вариантов прдставления этой самой даты в строковом виде...
  • {RASkov} © (19.07.08 17:03) [4]
    ....ну и очивидно, что наоборот, из кучи разных вариантов строк, получить одно и тоже число проблематичнее...
  • R1ka © (19.07.08 17:06) [5]
    понятно. спасибо
  • Renegat © (19.07.08 17:25) [6]
    Алгос:

    0) Берём структуру st: SYSTEMTIME.
    1) Приводим строку к PChar.
    2) Сравниваем третий символ с массивом ['n', 'e', 'd', 'u', 'i', 't'].
    3) Если подошёл символ 'n', то сравниваем второй символ. Если он равен 'u', проставляем в st.wDayOfWeek значение 0. Иначе - индекс массива, на котором сошлась третья буква.
    4) Сравниваем шестой символ с пробелом.
     а) Если сошлось:
       Отнимаем от него 48 (48 = 30h = ord('0')) и заносим результат в st.wDay, переходим к [5].
     б) Если не сошлось:
       MOV EDX, BYTE PTR [EAX+5];
       LEA EDX, [EDX*4+EDX-48*5];
       MOV ECX, BYTE PTR [EAX+6];
       LEA EDX, [EDX*2+ECX-48];


       , где ЕАХ - указатель на тот самый PChar, а в EDX после выполнения будет лежать результат.
       Влом думать, как это будет на Дельфях.
       Пусть это будет в счёт д/з ;)
       Короче, значение из EDX копируем в st.wDay

    5) ... ну, и далее по образцу =)
  • Renegat © (19.07.08 17:27) [7]
    > шестой символ

    *извиняюсь, седьмой.
  • Johnmen © (19.07.08 19:30) [8]

    > Renegat ©   (19.07.08 17:25) [6]

    Ты это о чём?
 
Конференция "Основная" » StrToDateTime vs Я [D7, WinXP]
Есть новые Нет новых   [134491   +13][b:0][p:0.001]