Форум: "Начинающим";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Внизпроблема перевода DOS-Win кодировки Найти похожие ветки
← →
R.O.O.T © (2007-07-27 16:12) [0]вот код
str2:=TStringList.Create;
str3:=TStringList.Create;
for I := 0 to Memo1.Lines.Count - 1 do
str2.Add(Memo1.Lines.Strings[i]);
for i := 0 to str2.Count-1 do
begin
Src:=PChar(str2.Strings[i]);
OemToChar(Src, Str);
str3.Add(StrPas(Str));
end;
for I := 0 to str3.Count - 1 do
Memo1.Lines.Add(str3.Strings[i]);
str2.Free;
str3.Free;
исполняется без ошибок
после выхода из процедуры появляется ошибка
Access violation at address 2020208D. Read of address 2020208D
в процессие отладки код выпаолняется без ошибок
по выходу из процедуры (end) ошибка появляется что может быть?
← →
umbra © (2007-07-27 16:14) [1]в стринглисте есть пустые строки.
← →
clickmaker © (2007-07-27 16:20) [2]
> OemToChar(Src, Str);
а что такое Str?
← →
r.o.o.t © (2007-07-27 16:24) [3]Src, Str :PChar;
str1 :String;
str2 :TStringList;
str3 :TStringList;
i :integer;
← →
r.o.o.t © (2007-07-27 16:25) [4]возможно есть
но ошибка наступает и без использование StringList
я думаю что то в функции OemToChar
← →
umbra © (2007-07-27 16:27) [5]а как Str инициализируется?
← →
clickmaker © (2007-07-27 16:28) [6]
> [3] r.o.o.t © (27.07.07 16:24)
> Src, Str :PChar;
и где выделение памяти под Str?
к тому же Str - зарезервированное слово, compiler-magic. Не рекомендуется такие слова юзать, чтоб не ухудшать читаемость кода
← →
r.o.o.t © (2007-07-27 16:30) [7]str изменил на str00
как выделить память?
← →
clickmaker © (2007-07-27 16:33) [8]
> [7] r.o.o.t © (27.07.07 16:30)
GetMem, AllocMem например
или заменить тип на string, SetLength, а потом PChar()
← →
r.o.o.t © (2007-07-27 16:38) [9]непомагает
← →
umbra © (2007-07-27 16:39) [10]а зачем вообще два стринглиста создавать?
str2 := TStringList.Create;
str2.AddStrings(Memo1.Lines);
for i := 0 to str2.Count-1 do
if str2[i] <> "" then
Memo1.Lines.Add(OemToChar(PChar(str2[i], PChar(str2[i])))
else
Memo1.Lines.Add("");
str2.Free;
← →
r.o.o.t © (2007-07-27 16:46) [11]все спасб. сделал по другому разобрался
← →
Игорь Шевченко © (2007-07-27 16:53) [12]umbra © (27.07.07 16:39) [10]
> if str2[i] <> "" then
А это зачем ?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c