Форум: "Потрепаться";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Внизудаление пробелов из строки Найти похожие ветки
← →
mari (2003-10-24 10:22) [0]procedure TForm2.ObrNol;
var s,nol:shortstring;
i,j5,dl:integer;
begin
table1.First;
while not Table1.Eof do begin
nol:=table1.fieldbyname("nol").AsString;
i:=1;
dl:=length(nol);
if nol<>"" then begin
j5:=1;
for i:=1 to dl do begin
if nol[i]=" " then begin
j5:=1;
for j5:=i to dl-1 do nol[j5]:=nol[j5+1];
dec(dl);
end;
if nol[i]="-" then nol[i]:=chr(151);
if nol[i]="+" then nol[i]:=chr(177);
end;
end;
length(nol):=dl;
table1.Edit;
table1.fieldbyname("nol").Value:=nol;
table1.Post;
table1.Next;
end;
end;
обрабатываемый файл
Значения из поля Value
"Count","ComponentName","RefDes","PatternName","Value","Reference","Name","Наименование","Группа","Примечание","CPU","64 _TQFP","Group","Group 1"
"1","ATMEGA128","DD1","TQFP64","","Atmel Прошивку осуществляет СКБ "РАДЭЛ"","ATmega 128L - 8AI","","","","CPU","64-TQFP","Микросхема",""
"1","C0603","C2","C0603","0603 - 0,01мкФ + 10% - X7R - 50B","MURATA, SINCERA","0603","","","","","","Конденсатор","Керамический чип типоразмер"
"2","C0603","C1","C0603","0603 - 0,1мкФ + 20% - X7R - 16B","MURATA, SINCERA","0603","","","","","","Конденсатор","Керамический чип типоразмер"
"","C0603","C3","C0603","0603 - 0,1мкФ + 20% - X7R - 16B","MURATA, SINCERA","0603","","","","","","Конденсатор","Керамический чип типоразмер"
"1","C0603","C4","C0603","0603 - 15пФ + 5% - NPO - 50B","MURATA, SINCERA","0603","","","","","","Конденсатор","Керамический чип типоразмер"
"1","MIC4680BM","DA1","SO8","","","MIC4680BM","MIC4680BM","Микросхемы","MICREL","","","Микросхема",""
"1","R0603","R8","R0603","0603 - 1кОм +5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"2","R0603","R1","R0603","0603 - 1кОм + 5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"","R0603","R2","R0603","0603 - 1кОм + 5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"1","R0603","R4","R0603","0603 - 6.8кОм + 5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"1","R0603","R7","R0603","0603 - 10кОм +5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"2","R0603","R3","R0603","0603 - 10кОм + 5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"","R0603","R6","R0603","0603 - 10кОм + 5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"1","R0603","R5","R0603","0603 - 100кОм + 5%","YAGERO","0603","","","","","","резистор","Типоразмер"
"1","ROZ40P_JMDSS","XS1","ROZ40P_JMDSS","","JST","40Р - JMDSS - G - 1TF","","","","","","Розетка",""
"4","TY_B","C5","TY_B","TSC - 22мкФ + 20% - 16В B case","","TSC","","","","","","Конденсатор","Танталовый чип серииTSC"
"","TY_B","C6","TY_B","TSC - 22мкФ + 20% - 16В B case","","TSC","","","","","","Конденсатор","Танталовый чип серииTSC"
"","TY_B","C7","TY_B","TSC - 22мкФ + 20% - 16В B case","","TSC","","","","","","Конденсатор","Танталовый чип серииTSC"
"","TY_B","C8","TY_B","TSC - 22мкФ + 20% - 16В B case","","TSC","","","","","","Конденсатор","Танталовый чип серииTSC"
← →
Reindeer Moss Eater (2003-10-24 10:24) [1]Этот код - подарок посетителям сайта?
← →
Ann (2003-10-24 10:26) [2]
> [1] Reindeer Moss Eater © (24.10.03 10:24)
> Этот код - подарок посетителям сайта?
Наверное :)
вопроса то не видно..
← →
Sandman25 (2003-10-24 10:30) [3]for i:=1 to dl do begin
if nol[i]=" " then begin
j5:=1;
for j5:=i to dl-1 do nol[j5]:=nol[j5+1];
dec(dl);
end;
Тут ошибка. После изменения dl не будет пересчета границы для первого цикла. Идти лучше с конца, а удалять одной командой delete(nol, i, 1);
← →
Anatoly Podgoretsky (2003-10-24 10:32) [4]Ничего себе подарочек, но может она просто про вопрос забыла?
Ау.
← →
Reindeer Moss Eater (2003-10-24 10:33) [5]Это что, удаление всех неодиночных пробелов?
← →
Reindeer Moss Eater (2003-10-24 10:35) [6]А так не проще ?
While Pos(" ",MyStr) > 0 Do Delete(MyStr,Pos(" ",MyStr),1);
← →
Zacho (2003-10-24 10:36) [7]Imho, это очередное упражнение для развития телепатических способностей форумчан ;-)
2 mari © :
Мои телепатические способности подсказывают, что тебе может помочь функция delete
← →
mari (2003-10-24 10:36) [8]Всем спасибо, просто этот вопрос в чате обсуждался, а сюда я его из-за большого когда поместила
Вопрос в том, что не все корректно работате
← →
Romkin (2003-10-24 10:39) [9]Наверно. Телепатую:
table1.fieldbyname("nol").AsString :=
stringReplace(table1.fieldbyname("nol").AsString, " ", "", [rfReplaceAll]);
← →
Reindeer Moss Eater (2003-10-24 10:41) [10]Romkin ©
А тройные пробелы, а учетверенные, а у.......
← →
Romkin (2003-10-24 10:42) [11]А... пофиг :)
← →
Reindeer Moss Eater (2003-10-24 11:17) [12]Без сомнения пофик,
но тройные и четверные превратятся в двойные, а упятеренные в тройные и т.д.
:)
← →
Sandman25 (2003-10-24 11:20) [13]Так автору же вроде надо убить все пробелы. Для этого StringReplace подходит, только параметры другие :)
← →
default (2003-10-24 11:37) [14]если скорость важна - лучше, наверно, копировать символы из исходной строки, исключая что нужно, в другую строку, а при Delete постоянно будет происходить перераспределение памяти под строку в случае динамических строк...
← →
jack128 (2003-10-24 11:38) [15]
> mari © (24.10.03 10:22)
Если покопаться у мя на диске, то можно найти прошлое обсуждение этого вопроса, тогда даже были организованы небольшие соревнования по скорости работы разных алгоритмов...
← →
Reindeer Moss Eater (2003-10-24 11:44) [16]А как убить все пробелы в строке с помощь одного вызова stringreplace?
← →
Sandman25 (2003-10-24 11:45) [17]StringReplace(string1, " " {пробел}, "" {пустая строка})
← →
Sandman25 (2003-10-24 11:47) [18]Точнее
StringReplace(string1, " " {пробел}, "" {пустая строка},[rfReplaceAll])
← →
Romkin (2003-10-24 11:53) [19]2Reindeer Moss Eater И чем двойной пробел отличается от двух стоящих рядом?
← →
Reindeer Moss Eater (2003-10-24 12:03) [20]Я вот про это:
ShowMessage(StringReplace("My..Very...Very....Sweet.....Sweet......Home.......","..",".",[rfReplaceAll]));
← →
stud (2003-10-24 12:06) [21]if pos(st," ")<>0 then delete(st,pos(st," "),1) должно удалить все пробелы кроме одиночных
← →
Reindeer Moss Eater (2003-10-24 12:07) [22]А также про это
ShowMessage(StringReplace("My..Very...Very....Sweet.....Sweet......Home.......","..","",[rfReplaceAll]));
← →
Reindeer Moss Eater (2003-10-24 12:07) [23]stud ©
Должно, но в цикле
← →
stud (2003-10-24 12:10) [24]ну да while
← →
Fay (2003-10-24 12:19) [25]Я балдею! Этот вопрос теперь с "Сети" и "WinAPI" надо
переместить. Пусть тоже порадуются! 8)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.039 c