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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2010, 20:20   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А если будет File Of String,будет проще?
Неа. Не очень. Это тот же TextFile с некоторыми особенностями, а учитывая что в Делфи строка - указатель на массив, это не панацея.
Имхо предложение Руссиан-сталкера самое оно.
Ну и от себя добавлю:http://www.programmersforum.ru/showthread.php?t=58277
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.10.2010, 20:43   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

_-Re@l-_
я же говорил Вам - ВЫ неверным алгоритмом решаете неверную задачу!

Сравните:
Код:
function XORStr(const S: string) : string;
const MKey : ShortString = 'Runtime DLL';
var sRezult : string;
  i, k : integer;
begin
  k := 1;
  sRezult := S;
  for i:=1 to Length(sRezult) do begin
    sRezult[i] := char(ord(sRezult[i]) xor ord(MKey[k]));
    inc(k);
    if k>length(MKey) then k := 1;
  end;
  XORStr := sRezult;
end;

procedure TForm1.btSaveClick(Sender: TObject);
var s1, s2 : ShortString;
    FRez : TFileStream;
    i, k : integer;
begin
   try
     FRez := TFileStream.Create('MyEd.tde', fmCreate );
     k := 0;
     for i:=0 to ControlCount - 1 do
      begin
        If Controls[i] is TEdit then  begin
          s1 :=  XORStr(Controls[i].Name);
          s2 :=  XORStr(TEdit(Controls[i]).Text);
          FRez.Write(s1[0], Length(s1)+1);
          FRez.Write(s2[0], Length(s2)+1);
          inc(k);
        end
      end;
   finally
     FreeAndNil(FRez);
     Application.MessageBox(
       PChar('Записано '+IntToStr(k)+' контролов TEdit '),
              'Info', MB_ICONINFORMATION or MB_OK);
   end;

end;

function TForm1.FindTEdit(TEditName: string): TEdit;
var i : integer;
begin
  FindTEdit := nil;
  for i:=0 to ControlCount - 1 do 
    If (Controls[i] is TEdit) and (Controls[i].Name = TEditName)
      then begin
         FindTEdit := TEdit(Controls[i]);
         Exit;
      end;
end;


procedure TForm1.btReadClick(Sender: TObject);
var s1, s2 : ShortString;
    FR : TFileStream;
    i, k1, k2 : integer;
    LenS : byte;
    tE : Tedit;
begin
   try
     FR := TFileStream.Create('MyEd.tde', fmOpenRead );

     k1 := 0; k2 := 0;
     while FR.Position < FR.Size do begin
       FR.Read (LenS, 1);
       if LenS > 0 then begin
         SetLength(s1, LenS);
         FR.Read (s1[1], LenS);
         s1 := XORStr( s1 );
       end;
       FR.Read (LenS, 1);
       if LenS > 0 then begin
         SetLength(s2, LenS);
         FR.Read (s2[1], LenS);
         s2 := XORStr( s2 );
       end;

       tE := FindTEdit(s1);
       if tE <> nil then begin
         tE.Text := s2;
         inc(k1)
       end
       else
         inc(k2);
     end;
   finally
     FreeAndNil(FR);
     Application.MessageBox(
       PChar('Записано '+IntToStr(k1)+' контролов TEdit '+chr(10)+chr(13)+
              'и не найдено '+IntToStr(k2)+' контролов TEdit '),
              'Info', MB_ICONINFORMATION or MB_OK);
   end;

end;
Примечание 1. Пишутся ВСЕ TEdit, которые есть на форме.
Примечание 2. Пишутся и имена TEdit'ов. Если при чтении TEdit с таким именем не найден - ничего не происходит, просто счётчик ошибочных TEdit увеличивается на единичку.
Примечание 3. шифрация через XOR, простейшая....
Вложения
Тип файла: rar SaveEditXOR.rar (130.4 Кб, 8 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.10.2010, 21:28   #13
VladimirVB
Форумчанин
 
Аватар для VladimirVB
 
Регистрация: 12.10.2008
Сообщений: 131
По умолчанию

Ну и что же вы Real ответите на счет XOR шифрования?
VladimirVB вне форума Ответить с цитированием
Старый 04.10.2010, 18:57   #14
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Ну и что же вы Real ответите на счет XOR шифрования?
Только то, что за вас всё сказали, а вы учтиво промолчали.Вы уж лучше вообще ничего бы тогда не писали бы в этой теме, ежели не знаете что сказать.
Цитата:
я же говорил Вам - ВЫ неверным алгоритмом решаете неверную задачу!
Да нет же, Serge_Bliznykov, я всё делаю правильно. Просто код, на основе которого я создал эту тему - как бы это сказать - просто был взят мною от балды - как пример. В моём приложении(как вы понимаете связанным с кодировкой текста), которое сейчас мастерю, его нет и не будет.
Вы спросите, на кой чёрт тогда создавал тему. А я отвечу - просто так, для общего развития.
_-Re@l-_ вне форума Ответить с цитированием
Старый 04.10.2010, 19:18   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Да нет же, Serge_Bliznykov, я всё делаю правильно.
ну правильно, так правильно. Значит я зря писал свой пример.
Ладно. Понял. Учту.
Удачи.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2010, 19:56   #16
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Значит я зря писал свой пример.
Какой вы обидчивый...
Но, заметьте, я ничего не говорил про ваш пример который вы писали - на самом деле, он мне даже немного помог...
_-Re@l-_ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нетипизированные файлы ZotaC Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 31.01.2010 19:34
НЕТИПИЗИРОВАННЫЕ Файлы Doholyan Паскаль, Turbo Pascal, PascalABC.NET 6 01.08.2009 23:26
типизированные и нетипизированные файлы andrey4623 Общие вопросы Delphi 1 28.12.2007 19:09
ПОМОГИТЕ!! Типизированные и нетипизированные файлы. Zebo Помощь студентам 1 08.06.2007 09:35