|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Помогите написать конвертор
Помогите написать конвертер. Приведенный ниже код работает только если строка не больше 200 символов.
Нужно из файла все что располагается между / / записать в массив. Код:
if form1.OpenDialog1.Execute then fname:=form1.OpenDialog1.FileName; TStr := TStringList.Create; try TStr.LoadFromFile(fname); for t:=0 to TStr.Count-1 do begin str:=TStr.Strings[t]; k:=1; a:=''; for i:=1 to length(str) do begin if str[i]<>'/' then a:=a+str[i] else begin m[k]:=a; Inc(k); a:=''; end; end; m[k]:=a; Последний раз редактировалось Aristarh Dark, 04.05.2012 в 15:32. |
#2
|
||||
|
||||
Запихиваем весь файл в одну строку, затем как-то так:
Код:
uses StrUtils; ... CopyStart:=Pos('/',str); CopyEnd:=PosEx('/', str, CopyStart+1); S := Copy(str, CopyStart+1, CopyEnd-CopyStart-1); jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
Спасибо Ваш код намного меньше.
Но у меня проблема в том что когда использую переменную String обрезается часть текста TStr.LoadFromFile(fname); //- строка 1000 символов for t:=0 to TStr.Count-1 do begin str:=TStr.Strings[t]; //- строка 250 символов в итоге часть текста пропадает Последний раз редактировалось tabivan, 04.05.2012 в 17:01. |
#4
|
||||
|
||||
Если TStr - это TStringList то он разбивает текст на строки по #13 и еще если встречается символ #0 - то он интерпретируется как конец строки.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
|||
|
|||
Цитата:
|
#6
|
||||
|
||||
Цитата:
Код:
var s:string; begin s:='asdasdasdasd'#0'asdkahsdlkhasdааа'; ShowMessage(s); end; Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
|||
|
|||
(((1111111;;1111;22/02пппппп/03ппппппп/04аааааа/0519791215/068401052537/07аааааа;аааа;аааааа;аааааа;/08ааааа;ааааа;аааааа;ааааа;-;-;-;-/09ааааааааааа;ааааааааааа;аааааааа;аааааааааааа;-;-;-;-2225/2383160/2420080520/27118470/3049/314/332/4322802/4463/4514/ааааааааааааааааааааааааааааааааааааааааааааааа/6120080518/аааааааааааааааааааааааааааааааааааааааааа;-;-;-;-781/79аааааааааааааааааааааааааааааааааааааааа,22041/99вввв=34157702))) |