Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 12:11   #11
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

All data containing strings or text must be in Unicode format. lpData must not point to ANSI data.
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 14.12.2012, 12:52   #12
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Хм, теперь мусора нет, но Restorator видит по прежнему все в HEX виде и целевая программа не может считать данные из самой себя нормально.

Кто чего подскажет?
А, а в HEX когда смотрите, есть там в конце два ноля: 00 00?

Можно сделать screenshot HEX изначальных данных?
waleri вне форума Ответить с цитированием
Старый 14.12.2012, 13:15   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
All data containing strings or text must be in Unicode format. lpData must not point to ANSI data.
Я уже говорил, что проект на XE3 сделан?
Там все в unicode.

waleri, вот код:
Код:
var
  i: Integer;
  s: string;
  sp: PChar;
  hRes: THandle;
begin
  if CopyFile(PChar(InputFileEdit.Text), PChar(OutputFileEdit.Text), False) then
  begin

    s := s + FileEdit.Text + '|';
    for i := 0 to ServersList.Count - 1 do
    begin
      s := s + ServersList.Items[i] + '|';
    end;
    sp := PChar(s);
    hRes := BeginUpdateResource(PChar(OutputFileEdit.Text), False);
    if hRes > 0 then
    begin

      UpdateResource(hRes, RT_RCDATA, 'DATA', $0409, sp,
        Length(s) * SizeOf(Char));
      if not EndUpdateResource(hRes, False) then
      begin
        ShowMessage(SysErrorMessage(GetLastError));
      end;

    end;
  end;
end;
вот результат:
Человек_Борща вне форума Ответить с цитированием
Старый 14.12.2012, 14:50   #14
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Это все прекрасно, но покажеите HEX с оригинальных данных - легче будет увидеть разницы...
waleri вне форума Ответить с цитированием
Старый 14.12.2012, 17:22   #15
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

waleri, не понимаю, что вы от меня хотите.
Исходная строка записанная для примера в файл, видна там как обычный текст. Скрин 1.
могу конечно строку в HEX перевернуть, но току?
Человек_Борща вне форума Ответить с цитированием
Старый 14.12.2012, 21:45   #16
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
могу конечно строку в HEX перевернуть, но току?
Тогда сразу будет видно как должен выглядеть текст в ресурсе.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновить значки после добавления нового типа файла Человек_Борща Win Api 3 13.08.2012 18:18
Эффект выделения input типа text при нажатиии ZvEr_HaCkEr HTML и CSS 2 09.07.2011 15:41
В ячейках DBGrid изображается поле типа text как (Memo) belartvlad29 БД в Delphi 2 18.07.2010 14:36
ПРОБЛЕМА ДОБАВ ДАННЫХ В ПОЛЯХ ТИПА TEXT NTEXT В MYSQL2000 shurik12 БД в Delphi 2 07.10.2008 20:31
RCData Witaliy Общие вопросы Delphi 3 27.04.2008 23:06