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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2016, 17:59   #41
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от sarsen Посмотреть сообщение
edKey: TEdit;
это не нужно, можно выкинуть.


Цитата:
Сообщение от sarsen Посмотреть сообщение
Код:
key := Edit1.Text;
ну, похоже на правду.
вроде бы, должно работать.
А что не так?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.12.2016, 19:18   #42
sarsen
Пользователь
 
Регистрация: 04.08.2016
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это не нужно, можно выкинуть.



ну, похоже на правду.
вроде бы, должно работать.
А что не так?
странно, конвертация отвалилась, не конвертирует не с ini не в поле ввода когда вводишь, шозатакэ
sarsen вне форума Ответить с цитированием
Старый 01.12.2016, 19:37   #43
sarsen
Пользователь
 
Регистрация: 04.08.2016
Сообщений: 58
По умолчанию

хм, раньше вроде работало щас перестало в начале идёт записать слово, вот он не игнорируя начинает дешифровать и получается не верный на выходе, тоесть если нам надо найти $T1 вначале и на этом сделать декод он этого не делает, если убрать запись вначале файла типа Read тогда он конвертирует, раньше вроде этого не наблюдалось. Ни чё не понимаю
sarsen вне форума Ответить с цитированием
Старый 01.12.2016, 21:28   #44
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от sarsen Посмотреть сообщение
Ни чё не понимаю
аналогично, шеф, аналогично! (с)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2016, 06:28   #45
sarsen
Пользователь
 
Регистрация: 04.08.2016
Сообщений: 58
По умолчанию

Как можно через оператор Readln или какой другой, пропустить слово в начале файла и в конце, ну или начинать читать файл по последней букве G в начале txt, и заканчивать читать по О в конце txt.
sarsen вне форума Ответить с цитированием
Старый 02.12.2016, 09:39   #46
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от sarsen Посмотреть сообщение
Как можно через оператор Readln или какой другой
это уже другая задача пошла?


Цитата:
Сообщение от sarsen Посмотреть сообщение
пропустить слово в начале файла и в конце, ну или начинать читать файл по последней букве G в начале txt, и заканчивать читать по О в конце txt.
приведите пример текстового файла и опишите конкретно, что с ним нужно сделать.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2016, 10:05   #47
sarsen
Пользователь
 
Регистрация: 04.08.2016
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это уже другая задача пошла?
приведите пример текстового файла и опишите конкретно, что с ним нужно сделать.
Вот файлик, на нём пароль 12345qwert если убрать в нём запись в начале Reading и в конце Ок то декриптор работает, если же нет, то не работает, вот я и хочу как то игнорировать эти слова что бы конвертация применялась только к тому, что внутри этих записей Что бы не стирать в нём, а то бинарный формат портится файла.
Вложения
Тип файла: txt test.txt (1.4 Кб, 146 просмотров)
sarsen вне форума Ответить с цитированием
Старый 02.12.2016, 10:08   #48
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот теперь понятно, о чём идёт речь.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.12.2016, 05:53   #49
sarsen
Пользователь
 
Регистрация: 04.08.2016
Сообщений: 58
По умолчанию

Сохранение по кнопкам сделал так
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  f1,f2 : file of byte;
  j, keyIndex : integer;
  s , key : AnsiString;

begin

  key := Edit1.Text;

if not OpenDialog1.Execute then Exit;
AssignFile(f1, OpenDialog1.FileName);
  reset(f1);

if not SaveDialog1.Execute then Exit;
AssignFile(f2, SaveDialog1.FileName);
  Rewrite(f2);

  SetLength(s, FileSize(f1));
  BlockRead(f1, s[1], FileSize(f1));

  keyIndex := 1;
  j:=1;
  while j<Length(s) do begin
     if (s[j]=#$0D) and (s[j+1]=#$0A) then Inc(j,2)
     else begin
        s[j] := chr( ord(s[j]) xor ord(key[keyIndex]));
       Inc(keyIndex);
       if keyIndex>Length(key) then keyIndex:=1;
       inc(j);
     end;
  end;
  BlockWrite(f2, s[1], Length(s));
  CloseFile(f2);
  CloseFile(f1);
  ShowMessage('Готово');
  end;
также сделал показывать пароль не показывать и очистка поля ввода
Код:
procedure TForm1.CheckBox1Click(Sender: TObject);

begin
if (checkbox1.Checked) then
 Edit1.PasswordChar:=#0
 else
 Edit1.PasswordChar:='*';
end;


procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Clear;
end;
Не хватает, только пропуск добавить, того, что я описывал.
Serge_Bliznykov помогите пожалуйста!

Последний раз редактировалось sarsen; 03.12.2016 в 07:13.
sarsen вне форума Ответить с цитированием
Старый 05.12.2016, 16:36   #50
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от sarsen Посмотреть сообщение
Не хватает, только пропуск добавить, того, что я описывал.
пропустить то, что в начале легче лёгкого.

можно одной строчкой кода - вот так:
Код:
  keyIndex := 1;
  j:=1;
  if Copy(s,1,7)='Reading' then j:=8;
  while j<Length(s) do begin
     if (s[j]=#$0D) and (s[j+1]=#$0A) then Inc(j,2)
     else begin
        s[j] := chr( ord(s[j]) xor ord(key[keyIndex]));
       Inc(keyIndex);
       if keyIndex>Length(key) then keyIndex:=1;
       inc(j);
     end;
  end;
а убрать тот "Ok", который в конце файла, тоже можно, но нужно ли?
Он Вам сильно мешает?
Или нужно, чтобы "Ok" в конце файла сохранился?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно написать конвертер Nemesis4ever Помощь студентам 0 16.01.2011 15:22
Помогите написать конвертер cpp->html Vano-sie72 Помощь студентам 1 18.05.2009 22:15
Помогите написать конвертер cpp->html Vano-sie72 Фриланс 1 18.05.2009 15:57
задача под windows,помогите написать.Надо написать на Borland C++Builder 6. eddddii Помощь студентам 9 23.05.2008 17:04