Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
ВнизПомогите некотрректно работает DelimitedText в StringGrid Найти похожие ветки
← →
Extar © (2007-01-10 14:33) [0]В Мемо1 загружен текстовик (колонки разделенные табуляцией, в некоторых колонках содержатся пробелы)
Нужно разобрать в StringGrid по колонкам (по табуляциям но не по пробелам)
Использую:StringGrid1.Rows[i].Delimiter:=#9;
StringGrid1.Rows[i].DelimitedText:=Memo1.Lines[j];
Разбирает и по табуляции и по пробелам.
Как разобрать игнорируя пробелы?
Или руками по символам в цикле каждую строку разбирать?
(естественно срочно нужно)
Delphi8
Спасибо заранее
← →
Extar © (2007-01-10 14:34) [1]Сорри, *некорректно в сабже
← →
novill © (2007-01-10 14:43) [2]ты всё с файлом возишься? :)
Ты ж не сказал что у тебя там проблеы есть.
Можно сделать еще вот таким способом (эта строчка вместо двух тех что выше)StringGrid1.Rows[i].Text:=stringrelapce(Memo1.Lines[j],#9,#13#10,[rfReplac eAll]);
← →
novill © (2007-01-10 14:44) [3]
rfReplaceAll
слитно пишется
← →
Anatoly Podgoretsky © (2007-01-10 14:50) [4]> Extar (10.01.2007 14:33:00) [0]
Работает в соответствии с описанием и в соответствии с определением формата CSV
Твой текстовик не соответствует формату
← →
Юрий Зотов © (2007-01-10 15:06) [5]Временно заменить пробелы каким-нибудь спецсимволом, а потом сделать обратную замену.
← →
Anatoly Podgoretsky © (2007-01-10 15:27) [6]> Юрий Зотов (10.01.2007 15:06:05) [5]
По стандарту пробел спецсимвол, поэтому значения с пробелами должны браться в двойные кавычки, поспольку это не сделано, то придется прыгать с заменой
← →
Extar © (2007-01-10 15:43) [7]>Novill
Спасибо, но результат такой же почемуто(
>Anatoly Podgoretsky
Буду знать, спасибо
Думаю сделать вот так тупо:
1)Заменить в Мемо1 пробелы на какой-нибудь символ типа @
2)Раскидать по колонкам стрингрид
3)пробежать по гриду и заменить @ на пробелы
Финт ушами)
← →
Extar © (2007-01-10 15:44) [8]>Юрий Зотов
Прочитал позже
← →
Extar © (2007-01-10 15:58) [9]А как быстро в Мемо1.text заменить пробелы на другой символ?
(не успеваю уже сам)
← →
гостъ (2007-01-10 16:04) [10]
for I := 1 to Length ( Memo1.Text ) do
if ( Memo1.Text[I] = $20 ) then
Memo1.Text[I] := $40; {@}
← →
гостъ (2007-01-10 16:06) [11]ошибся быстро :)
for I := 1 to Length ( Memo1.Text ) do
if ( Memo1.Text[I] =#32 ) then
Memo1.Text[I] := #64; {@}
← →
Extar © (2007-01-10 16:11) [12]
for i:=1 to memo1.Lines.Text.Length do if memo1.Lines.Text[i]=" " then memo1.Lines.Text[i]:="@";
Первое что попробовал.
Left side cannot be assignet to rigth side.. или в этом духе.
Вопрос в силе
← →
Anatoly Podgoretsky © (2007-01-10 16:13) [13]> гостъ (10.01.2007 16:06:11) [11]
Text это свойство, а не переменная
← →
гостъ (2007-01-10 16:23) [14]Сорри,
Ну тогда как советовали выше, novill
var
s : String;
begin
s := Memo1.Text;
s := StringReplace ( s, " ", "@", [ rfReplaceAll ] );
Memo1.Text := s;
← →
Extar © (2007-01-10 16:30) [15]
memotexttmp:=memo1.Lines.Text;
for i:=1 to memotexttmp.Length do if memotexttmp[i]=" " then memotexttmp[i]:="@";
memo1.Lines.Text:=memotexttmp;
Так почемуто не сработало, а реплэйс помог, спасибо
← →
Loginov Dmitry © (2007-01-10 16:38) [16]> memotexttmp.Length
Это чего?
← →
Extar © (2007-01-10 16:44) [17]
Var
memotexttmp:string;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.044 c