Конференция "WinAPI" » FindFirstFileW и FindNextFileW [D7, WinXP]
 
  • QAZ (20.04.10 13:05) [0]
    не возвращают уникодные филенеймы, используются соотв. типы TWin32FindDataW
    ктонибудь сталкивался?
  • DVM © (20.04.10 13:08) [1]

    > QAZ

    приведи весь код, как используешь
  • QAZ (20.04.10 13:21) [2]
    да код то стандартный

    procedure GetFiles(const Path: Widestring);
    var
    FD : TWin32FindDataW;
    FH : THandle;
    Begin
    FH := Windows.FindFirstFileW(PWideChar(Path + '*.*' ), FD);
    repeat
      if (FH<>INVALID_HANDLE_VALUE) and (FD.cFileName <> widestring('.')) and(FD.cFileName<>widestring('..')) then
    begin
    --------------------------------------
    end;
    until Windows.FindNextFileW(FH, FD) = false;
    if FH <> 0 then Windows.FindClose(FH);
    end;

  • Сергей М. © (20.04.10 13:28) [3]
    У меня возвращает. И именно твой код.
    Что я делаю не так ?)
  • QAZ (20.04.10 13:38) [4]
    у тибя делфи 7 и вин хп ?
    и как ты определяеш что имено уникод получаеш? между лат. символами есть #0 ? и как насчет китайского?
  • Сергей М. © (20.04.10 13:42) [5]

    > как ты определяеш что имено уникод получаеш?


    А что еще кроме Юникода могут возвращать эти ф-ции ?


    > между лат. символами есть #0 ?


    С какой радости он там должен быть ?


    > как насчет китайского?


    А по барабану.
    Юникоду без разницы какой язык.
    На то он и Юникод.
  • DVM © (20.04.10 13:45) [6]

    > QAZ   (20.04.10 13:21) [2]

    Ну вот ты получил имена файлов, а дальше что ты с ними делаешь? Выводишь то как?
  • QAZ (20.04.10 13:53) [7]

    > С какой радости он там должен быть ?

    с такой что так кодируются
    напиши любой текст в блокноте на латинском,сохрани как уникод и открой гексредактором
    а то что ты получаеш может как у меня быть анси


    > Ну вот ты получил имена файлов, а дальше что ты с ними делаешь?
    >  Выводишь то как?

    сначала выводил через DrawTextw, но когда спалился на китайском,стал стотреть через отладчик , и нифига там не уникод
  • DVM © (20.04.10 14:03) [8]

    > QAZ   (20.04.10 13:53) [7]


    > и нифига там не уникод

    Сколько байт на символ выходит?
  • QAZ (20.04.10 14:04) [9]
    один
  • QAZ (20.04.10 14:14) [10]
    проверяю на папке с одним файлом и имя ему:
    qaz_栮框桒栗_товый до_ﭫﭯﭘﭼ.txt
  • DVM © (20.04.10 14:42) [11]

    > QAZ   (20.04.10 14:14) [10]

    У меня все прекрасно находится и выводится на PaintBox с пом. TextOutW
    D7, WIN7, файл qaz_栮框桒栗_товый до_ﭫﭯﭘﭼ.txt
  • QAZ (20.04.10 14:49) [12]
    крута конечно, мошт у меня дома тоже нарисуется,но вопрос пока конкретно про ХР
  • DVM © (20.04.10 15:06) [13]

    > QAZ   (20.04.10 14:49) [12]


    > но вопрос пока конкретно про ХР

    Если бы в XP это не работало, то ты бы не увидел названий файлов в проводнике. Дело скорее всего не в XP. Что ты не договариваешь.
  • QAZ (20.04.10 15:14) [14]
    хоп и у мну нарисовалось...
    походу дебугер скотина конвертит все в анси
    а в литвю был шрифт не уникодный
  • Anatoly Podgoretsky © (20.04.10 15:28) [15]
    > QAZ  (20.04.2010 13:53:07)  [7]

    Слушай, ты не вводи вводные задним числом и отвечай за свои предыдущие слова.
  • Anatoly Podgoretsky © (20.04.10 15:31) [16]
    > QAZ  (20.04.2010 15:14:14)  [14]

    Да ты просто отладчиком пользоваться не умеешь и зачем то его дебугером обозвал.
    Достаточно точку останова было создать.
  • Игорь Шевченко © (20.04.10 15:37) [17]
    QAZ   (20.04.10 15:14) [14]

    Словарный запас смени.
  • QAZ (20.04.10 15:38) [18]

    > Достаточно точку останова было создать.

    а я собствено так и делал
    дело в том что когда я сидел  в 5м делфи он уникод показывал побайтно как массив
    а 7й в даном случае посимвольно,при этом использует неуникодный шрифт,от чего и возникли непонятки
 
Конференция "WinAPI" » FindFirstFileW и FindNextFileW [D7, WinXP]
Есть новые Нет новых   [134431   +16][b:0][p:0.001]