![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]()
Вот сделал такие вот функции:
Код:
Код:
Read_Parametr_Str(Str : string; parametr : word) - читает из строки str параметр parametr допустим первый 1. Вопрос такой можно ли написать по проще этого и по лучше??? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
function StrIsNumbers(C : Char) : boolean; Посмотри на коды цифр, они расположены рядом. Можно просто проверять удовлетворяет ли данный символ определенному диапазону.
Нет инициализации результата. Что если на входе будет пустая строка? Цикл не выполнится и что я получу в результате? В лучшем случае ошибку, а в худшем, какую-нибудь белиберду и прога будет дальше работать не правильно. Далее, аналогично, что будет если я задам отрицательный параметр или параметр, которого нет в строке? Допустим в строке три слова, а я хочу 128-е? Далее полное отсутствие комментариев. К чему это приводит? Да вот хотя бы ко всему тому, что я уже написал выше. А в результате отлаживать такой код потом будет очень тяжело.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#3 |
Programming...
Форумчанин
Регистрация: 13.03.2010
Сообщений: 198
|
![]() Код:
Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
![]()
procedure Explode(Delimeter:string;SourceStri ng:string;DestList:TStrings);
var DPos, I:Integer; Line:string; begin for I:=0 to Length(SourceString) do begin DPos:=AnsiPos(Delimeter,SourceStrin g); if DPos=0 then begin DestList.Add(TrimLeft(TrimRight(Sou rceString))); break; end; Line:=Copy(SourceString,0,DPos-1); if Trim(Line)<>'' then DestList.Add(TrimLeft(TrimRight(Lin e))); SourceString:=Copy(SourceString,DPo s+1,length(SourceString)); end; end; Функция написана для других целей но и тебе может помочь.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Срочно ищем в гугле Дельфи множества
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
![]()
Напиши сначала алгоритм парсера своего.
Если речь идет о той строке что ты выкладывал в другой ветке то. По логике надо идти по пути... Тебя не интересует что в строке до первого пробела. Т.к. там буквы. AnsiPos(' ',твоя строка). Выкидываешь то что до этой позиции нафиг. Потом у тебя 2 цифры разделенных пробелом. Опять же AnsiPos(' ', остаток твоей строки). То что до позиции это одино число то что после второе. Все. И да trim не забывай.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
![]() |
![]() |
![]() |
#10 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]()
А так:
Код:
Последний раз редактировалось VintProg; 04.06.2010 в 11:29. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Параметры из ком. строки | MalCer | Общие вопросы Delphi | 6 | 15.02.2010 18:05 |
параметры командной строки. | nazavrik | Общие вопросы C/C++ | 4 | 20.11.2009 20:15 |
Параметры коммандной строки | BaronTreep | Общие вопросы Delphi | 4 | 30.05.2009 21:27 |
Параметры из командной строки | ProGg | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 13.02.2009 00:17 |