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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 16:19   #31
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Ну так зашифруй его хотя бы xor'ом, или еще каким нить алгоритмом простейшим
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 14.05.2012, 16:22   #32
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

В смысле я и имею ввиду что не должно просматриваться длин исходных строк в зашифрованном и сохраненном в файл тексте)

Мы отошли от темы. Так что по ходу не реально с помощью TStringList сохранять все что угодно? мож как нибудь в нем чтото поменять чтобы он пропускал мимо глаз этот #0 и сохранял все что не попадя?

Последний раз редактировалось Stilet; 18.05.2012 в 07:52.
JekaDefer вне форума Ответить с цитированием
Старый 14.05.2012, 16:27   #33
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Цитата:
Сообщение от JekaDefer Посмотреть сообщение
Мы отошли от темы. Так что по ходу не реально с помощью TStringList сохранять все что угодно? мож как нибудь в нем чтото поменять чтобы он пропускал мимо глаз этот #0 и сохранял все что не попадя?
TStrings сохраняет все, даже #0
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 14.05.2012, 16:30   #34
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

Ну видимо не все раз не сохраняет TStringList.SaveToFile('sdgs.txt'); )
JekaDefer вне форума Ответить с цитированием
Старый 14.05.2012, 16:39   #35
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Выше говорили использовать TFileStream:
Код:
procedure Save(const AText:AnsiString);
var
  Lfs:TFileStream;
  Lsz:Integer;
begin
  try
    Lfs:=TFileStream.Create(<имя файла>,fmCreate);//создали файл
    Lsz:=Length(AText);//взяли длину строки
    Lfs.WriteBuffer(Lsz,4);//записали длину строки
    Lfs.WriteBuffer(Pointer(AText)^,Lsz);//записали саму строку
  finally
    Lfs.Free;//обязательно освободили файл
  end;
end;
Использование:
Код:
Save(Sl1.Text);
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 14.05.2012, 16:56   #36
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
Выше говорили использовать TFileStream:
Код:
procedure Save(const AText:AnsiString);
var
  Lfs:TFileStream;
  Lsz:Integer;
begin
  try
    Lfs:=TFileStream.Create(<имя файла>,fmCreate);//создали файл
    Lsz:=Length(AText);//взяли длину строки
    Lfs.WriteBuffer(Lsz,4);//записали длину строки
    Lfs.WriteBuffer(Pointer(AText)^,Lsz);//записали саму строку
  finally
    Lfs.Free;//обязательно освободили файл
  end;
end;
Использование:
Код:
Save(Sl1.Text);
Опять же в TStrings использовать Text, оно не будет все отдовать, часть данных будет урезаться
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 14.05.2012, 17:06   #37
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Сначала проверьте, а потом утверждайте:
Код:
procedure Save(const AText:AnsiString);
var
  Lfs:TFileStream;
  Lsz:Integer;
begin
  try
    Lfs:=TFileStream.Create('D:\data.bin',fmCreate);//создали файл
    Lsz:=Length(AText);//взяли длину строки
    Lfs.WriteBuffer(Lsz,4);//записали длину строки
    Lfs.WriteBuffer(Pointer(AText)^,Lsz);//записали саму строку
  finally
    Lfs.Free;//обязательно освободили файл
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  LsTempList:TStringList;
  i:Integer;
begin
  LsTempList:=TStringList.Create;
  LsTempList.LineBreak:=#0;
  for i:=0 to 99 do
    LsTempList.Add('Z');
  Save(LsTempList.Text);
  FreeAndNil(LsTempList);
end;
Размер файла получается 204 байта: 4 байта длина строки свойства Text, 100 символов "Z" и разделитель символ #0. Никто ничего не обрезает. Придумали проблему
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 14.05.2012, 17:10   #38
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Ну может быть и я не прав, просто я не вижу проблемы с сохранении, как ее видит ТС =)
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 14.05.2012, 17:11   #39
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

Да лан подождите я еще не тестировал) ща найду еще траблов) но спс за решение
JekaDefer вне форума Ответить с цитированием
Старый 14.05.2012, 23:14   #40
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от 3D Hunter
Выше говорили использовать TFileStream:
+1

Кстати, я на форуме неоднократно предлагал аналогичные примеры.
например, ТУТ
или в ЭТОЙ теме
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Tstringlist - максимальная длинна строки и макс.кол-во строк? paravoz1k Компоненты Delphi 4 03.02.2020 13:52
Удалить пустые строки из TStringList apromix Общие вопросы Delphi 5 14.09.2016 12:14
Куда деваются русские буквы? Islam_2011 Общие вопросы C/C++ 2 18.09.2011 10:20
Добавление в TMemo, последней строки из TStringList OPF_Nik Помощь студентам 3 31.01.2010 17:35
Подскажите, куда деваются переаменные? Visual C++ Sh2009 Помощь студентам 4 07.05.2009 00:34