stringgrid,stringlist

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

stringgrid,stringlist

Сообщение novo »

Добрый день (ночь,вечер,утро)

Проблема такая
Необходимо зашифровать содержимое stringlist, предварительно заполненного из stringgrid
Делал так:

Код: Выделить всё

var
list:TStringList;
i,j:integer;
begin
list:=Tstringlist.Create;
 for i:=1 to stringgrid1.RowCount-1 do begin
for j:=1 to stringgrid1.ColCount-1 do begin
 list.add(stringgrid1.Cells[j,i]);
 end;
end;
list.text:=encrypt(list.text,'password');
list.savetofile('file.txt');
list.free;


В принципе работает, но через раз, при дешифровке последние две строки остаются не расшифрованными
Вычитал тут про символ-разделитель для srtinggrid, возможно причина в нем

Помогите разобраться в чем дело
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

То ли с "i:=0" надо начинать (и с j разумеется тоже), то ли минус один у "RowCount-1" убрать. Не помню у стрингрида с 0 или с 1 начинается.

Добавлено спустя 58 секунд:
Вроде понятно написал. не?
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Сообщение novo »

dunin писал(а):То ли с "i:=0" надо начинать (и с j разумеется тоже), то ли минус один у "RowCount-1" убрать. Не помню у стрингрида с 0 или с 1 начинается

Начинается с нуля, i и j равно 1 так как заголовки не трогаем
Проверил заполняется stringlist правильно
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

novo писал(а):при дешифровке последние две строки остаются не расшифрованными

Если проблема при дешифровке, то разобраться с ней сможет только тот, кто видит код дешифровки. Одного только кода шифровки недостаточно. И если функции encrypt/decrypt нестандартные, то их код тоже нужно видеть, чтобы решить проблему.
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Возможно, при шифровании у тебя появляются символы-делимитеры строк, а те делимиторы что были зашифровываются.
Попробуй примерно так:

Код: Выделить всё

for I:=0 to list.Count-1 do
  list.Strings[I] := encrypt(list.Strings[I],'password');
list.savetofile('file.txt');
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Сообщение novo »

Похоже, что проблема была в методе шифрования
Ответить