Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
NotBeginner
170 / 157 / 71
Регистрация: 22.02.2013
Сообщений: 1,770
Записей в блоге: 2
1

Чтение файла

21.06.2015, 15:52. Просмотров 297. Ответов 1
Метки нет (Все метки)

Шифрую строку
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// шифрование перестановкой
function Move(const val : string) : string;
var
  i, j, p, m : Integer;
  arr : array [0..31, 0..1] of integer;
begin
  // инициализуем переменные
  P:= Ord(val[Length(val)]);
  m := 1;
  // в цикле заполняем табицы 2 на 32
  for j:=0 to 1 do
  for i:=0 to 31 do
  begin
    // проверка, если
    if Length(val) >= i then
    begin
      arr[j,i]:=Ord(val[m]); inc(m);
    end
    else
    begin
      inc(p);
      arr[j,i] := p;
    end;
  end;
 
 Result := '';
 
 for j:=31 downto 0 do
 for i:= 1 downto 0 do
    Result := Result + Char(arr[j,i]);
 
end;


Далее сохраняю в файл
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var
  fs : TFileStream;
  path  : string;
begin
  // добавили в конце строки переход на новую строку
  code := code + #13#10;
  // путь до папки с программой
  path := ExtractFilePath(Application.ExeName) + fileName;
  try
    // если файл сушествует
    if FileExists(fileName) then
    // создаем файловую переменную
    // fmOpenWrite - открываем файл для записи
    fs := TFileStream.Create(path, fmOpenWrite)
    // fmCreate - создаем файл
    else fs := TFileStream.Create(path, fmCreate);
    // перешли в конец файла
    fs.Position := fs.Size;
    // пишем в файл
    fs.WriteBuffer(code[1], Length(code)*sizeof(char));
  finally
    // уничтожаем переменную
    fs.Free;
  end;
end;

Далее, снова шифрую и пытаюсь найти эту строку в файле
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  sl : TStringList;
  path  : string;
  i : Integer ;
begin
  Result := False;
  path := ExtractFilePath(Application.ExeName) + name;
  if not FileExists(path) then Exit;
  sl := TStringList.Create;
  try
    sl.LoadFromFile(path);
    Result := sl.IndexOf(val) >= 0;
  finally
    sl.Free;
  end;
возвращает false хотя ввожу одинаковые данные
почему то он считывает ( sl : TStringList) не всю строку

Добавлено через 47 минут
выяснил, что если сохранять в *.txt - то сохраняется в одну строку.
сохранил в другой формат - текст разделяется на несколько строк
добавил вот такую проверку, но все равно текст на 2 строки расписывается
Delphi
1
2
3
4
5
   begin
      inc(p);
      while chr(p) in [#13,#10,#32] do inc(p);
      arr[j,i] := p;
    end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2015, 15:52
Ответы с готовыми решениями:

Чтение части файла из файла и показ его в Image
Здравствуйте! Есть большой файл состоящий из записанных один за одним...

Чтение из файла и копирование файла
Здравствуйте. При нажатии на кнопку, должен открыться файл, считаться 2я...

Чтение файла
Что нужно: 1. Код прочтения определённой строки из файла и с определённого...

Чтение файла
Доброго времени суток, форумчане, есть проблемка, не могу придумать как...

Чтение из файла
Всем привет И так вопрос такой: Вот есть текстовый файл на каком то сайте...

1
NotBeginner
170 / 157 / 71
Регистрация: 22.02.2013
Сообщений: 1,770
Записей в блоге: 2
21.06.2015, 16:22  [ТС] 2
вот так шифруется "123"
Чтение файла

как мне сделать что бы в 1 строку все сохронялось?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2015, 16:22

Чтение из файла
Как можно сделать, чтобы читать какие-то конкретные записи из файла.(к примеру...

Чтение из файла
В справочной аэропорта хранится расписание вылета самолетов на следующие сутки....

Чтение из файла
Привет! Есть такой код: procedure TForm1.Button2Click(Sender: TObject); var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru