Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Как разбить строку по разделителю ""   Найти похожие ветки 

 
WebSqlNeederr   (2006-05-22 12:52) [0]

например есть строка, как мне из нее сделать массив, элементами которого был бы текст из строки, который разделяется в ней пробелом?

Понимаю что это глупый вопрос, но вот что заступорился :)


 
Сергей М. ©   (2006-05-22 12:59) [1]

sl: TStringList;
arr: array of String;
..
sl.Delimiter := " ";
sl.DelimitedText := "Строка с пробелами";
SetLength(arr, sl.Count);
for i:= 0 to Length(arr)-1 do
arr[i] := sl[i];


 
WebSqlNeederr   (2006-05-22 13:14) [2]

Не работает, пишет Acces violetion ...


 
WebSqlNeederr   (2006-05-22 13:15) [3]

Ошибка на сколько я понял здесь arr[i] := sl[i];


 
Сергей М. ©   (2006-05-22 13:15) [4]

sl должен указывать на существующий объект класса TStringList


 
Плохиш ©   (2006-05-22 13:16) [5]


> WebSqlNeederr   (22.05.06 13:14) [2]
> Не работает, пишет Acces violetion ...

Тогда напиши вместо .. следуюшее sl := TStringList.Create и задавай свои вопросы в конференции "Начинающим"!


 
Сергей М. ©   (2006-05-22 13:17) [6]


> Ошибка на сколько я понял здесь


Интересен ход твоих мыслей при этом умозаключении ..


 
MBo ©   (2006-05-22 13:17) [7]

sl создал?


 
Fay ©   (2006-05-22 13:19) [8]

LOL


 
WebSqlNeederr   (2006-05-22 13:20) [9]

Протупил :) Спасибо за помощь!


 
WebSqlNeederr   (2006-05-22 13:31) [10]

А как быть с переносами на новую строку? В общем у меня есть статистика помещения моего сайта, она составлена в таком вот формате, пример

2006-05-19 09:51:28 http://www.menshealth.kiev.ua/q.php 22739 0 73.96.199.82
2006-05-19 09:44:33 http://www.ofoto.com.ua/ru/ 32569 0 230.128.153.194
2006-05-19 08:53:47 http://ref.a.org.ua/?id=217472 25218 0 118.41.40.212

Когда я пытаюсь во второе мемо вывести только урлы то получается сделать для всех кроме тех у кого длинный урл и он переновится на новую строку, пример моего кода:

procedure TForm1.Button2Click(Sender: TObject);
var sl: TStringList; i,j:integer;
begin
 for j:=0 to memo1.Lines.Count-1 do
 begin
   sl:=TStringList.Create;
   sl.Delimiter := " ";
   sl.DelimitedText := memo1.Lines.Strings[j];
   Memo2.Lines.Add(sl[2]);
   sl.Destroy;
 end;
end;

В мемо1 я закидываю ту общую статистику и вот обрывается вывод когда строка например :

http://infostore.org/search?s=%D0%A0%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F+%D0%9A%D0%B8%D1%97%D0%B2%D1%80%D0%B0%D0%B4%D0%B8+%E2%84%96+164%2F885+%D0%B2%D1%96%D0%B4+08.06.2000+%D1%80.&type=0&flag_files=1 23379 0 50.251.64.195


 
WebSqlNeederr   (2006-05-22 13:33) [11]

Ошибка List index out of bounds (2)


 
Сергей М. ©   (2006-05-22 13:38) [12]

URL не может содержать пробелы.


 
Плохиш ©   (2006-05-22 13:39) [13]

У Memo1 надо установить свойство WordWrap в FALSE.


 
WebSqlNeederr   (2006-05-22 13:55) [14]

Плохиш, спасибо. Действительно WordWrap в FALSE нужно было ...


 
WebSqlNeederr   (2006-05-22 14:00) [15]

А еще может кто то уже такое делал - как из урла оставить только домен? например http://ref.a.org.ua/?id=217472  оставить только http://ref.a.org.ua ??

Хочу узнать сколько совпадений по доменам у меня в статистике есть ...


 
WebSqlNeederr   (2006-05-22 14:30) [16]

..


 
Сергей М. ©   (2006-05-22 14:31) [17]

sl.Delimiter := "\";

sl[2]


 
WebSqlNeederr   (2006-05-22 15:39) [18]

А как мне проверить сколько совпадений есть в списке доменов в моем Стринглисте? Я вот составил код, но он что то коряво работает :(

procedure TForm1.Button3Click(Sender: TObject);
var i,j:integer;
begin
 for i:=0 to urls2.Count-1 do
 begin
   for j:=0 to i-1 do
   begin
     if urls2.Strings[j]=urls2.Strings[i] then
     begin
       urls2.Strings[i]:=urls2.Strings[i]+" +1 совпадение";
       //urls2.Delete(i);
       break;
     end;
   end;
 end;
 memo2.Text:=urls2.Text;
end;

В urls2 хранятся сами домены.


 
Ega23 ©   (2006-05-22 16:07) [19]

Эка ты фонтанируешь!


 
WebSqlNeederr   (2006-05-22 16:14) [20]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-22 18:11) [21]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-22 18:48) [22]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-23 02:04) [23]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-23 09:50) [24]

Удалено модератором
Примечание: Создание пустых сообщений


 
Сергей М. ©   (2006-05-23 09:56) [25]


> Ни у кого нет никаких идей?


Идея тут одна - не допускай дублирования строк в стринглисте, тогда и проверять ничего не нужно будет.

см. св-во TStringList.Duplicates



Страницы: 1 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.03 c
1-1146734024
DelphiLexx
2006-05-04 13:13
2006.06.11
Проблема с TSpeedButton ом


15-1147779662
dewas23
2006-05-16 15:41
2006.06.11
Какой прогой просмотреть путь пакета?


15-1147820909
iZEN
2006-05-17 03:08
2006.06.11
Кто-нибудь пробовал десктопную FreeBSD?


3-1145349957
Pashka_cool
2006-04-18 12:45
2006.06.11
FireBird 1.5 на 2003 Windows Server - база после запуска падает.


2-1148449496
pavel_guzhanov
2006-05-24 09:44
2006.06.11
FastReport 3 и Delphi7