Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с чтением Delphi 2009 
:(
    Опции темы
Александр7775
Дата 12.4.2015, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.4.2015

Репутация: нет
Всего: нет



Вот исходный код проекта написанного на Delphi 2009
Скачать пример
При чтении вместо русского текста куча иероглифов при чтении побайтно. Это из за тогог что Delphi стала юникодной так как в Delphi 7 проблем небыло. 
Вопрос
Как решить проблему?
Сразу скажу что способ решения мне нужен чтением побайтно так как в будущем я буду читать и записывать зашифрованный текст.
TString и его потомки не поддерживают специальные символы которые возможно будут образовываться при криптографии скрипта.
PM MAIL   Вверх
Poseidon
Дата 12.4.2015, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Как на счет того, что бы скинуть код чтения прямо на форум?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Александр7775
Дата 12.4.2015, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.4.2015

Репутация: нет
Всего: нет



Весь код:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    MainMenu1: TMainMenu;
    TXT1: TMenuItem;
    TXT2: TMenuItem;
    CODE: TMenuItem;
    EXIT: TMenuItem;
    TXT3: TMenuItem;
    procedure TXT2Click(Sender: TObject);
    procedure TXT1Click(Sender: TObject);
    procedure TXT3Click(Sender: TObject);
    procedure EXITClick(Sender: TObject);
    procedure CODEClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CODEClick(Sender: TObject);
begin
  Memo1.Lines.LoadFromFile(ParamStr(0)+'.CODE');
end;

procedure TForm1.EXITClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.TXT1Click(Sender: TObject);
Var fbyte:file of byte;
  byt:byte;
  ws:widestring;
begin
  AssignFile(fbyte, ParamStr(0)+'.ANSI.TXT');
  RESET(fbyte);
  WS:='';
  while NOT EOF(fbyte) do BEGIN
    READ(fbyte, BYT);
    WS:=WS+CHR(BYT);
  END;
  mEMO1.Text:=WS;
  cLOSEfILE(fbyte);
end;

procedure TForm1.TXT2Click(Sender: TObject);
Var fbyte:file of byte;
  byt:byte;
  ws:widestring;
begin
  AssignFile(fbyte, ParamStr(0)+'.UNICODE.TXT');
  RESET(fbyte);
  WS:='';
  while NOT EOF(fbyte) do BEGIN
    READ(fbyte, BYT);
    WS:=WS+CHR(BYT);
  END;
  mEMO1.Text:=WS;
  cLOSEfILE(fbyte);
end;

procedure TForm1.TXT3Click(Sender: TObject);
Var fbyte:file of byte;
  byt:byte;
  ws:widestring;
begin
  AssignFile(fbyte, ParamStr(0)+'.UTF8.TXT');
  RESET(fbyte);
  WS:='';
  while NOT EOF(fbyte) do BEGIN
    READ(fbyte, BYT);
    WS:=WS+CHR(BYT);
  END;
  mEMO1.Text:=WS;
  cLOSEfILE(fbyte);
end;

end.


PM MAIL   Вверх
Illusion Dolphin
Дата 13.4.2015, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Цитата

Сразу скажу что способ решения мне нужен чтением побайтно так как в будущем я буду читать и записывать зашифрованный текст.

Для шифрования и дешифровании вас вообще не должно волновать юникодно оно или нет. Для этого есть TFileStream, TStreamReader\Writer, TStringReader\Writer

Цитата

WS:=WS+CHR(BYT);

Читаете один байт и его переводите в 2хбайтовый чар, вот тут и теряются данные. 

P.S. В качестве оформления кода вы знатный извращенец


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Александр7775
Дата 13.4.2015, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.4.2015

Репутация: нет
Всего: нет



У меня свой способ шифровки. Это обычное последовательность смещения символов со своим ключем.
А про юникод я лишь говорю что сама делфи юникодная а не ансишная. 
А на счет кода что я дал то на Delphi 7 код работает безупречно. Оно и понятно компоненты ведь аннсишные и сама делфи тоже ансишная.
Но мне нужно решение проблемы чтобы код работал под любой версией делфи.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1034 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.