![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Felt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.6.2004 Репутация: нет Всего: нет |
Привет. Поможите мне плз написать функцию для получения параметров из строки. Это навроде ParamStr, только получать нужно не из коммандной строки, а из обычной переменной типа String.
Под параметрами я подразумеваю слова, разделенные друг от друга пробелом. Но нужно учитывать, что словом может называться и группа слов, взятых в кавычки. Пример.
Функция GetParam должна вернуть 'Группа слов1' (если первый параметр 3)... Если первый параметр 0, тогда 'Слово1'. Много раз сам писал такую функцию (выдирал ее из VCL и немного поправлял), она хорошо работала, но к сожалению иногда глючит. А разобраться очень тяжело. Может быть в арсенале WinAPI есть подобного рода функции? |
|||
|
||||
| Felt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.6.2004 Репутация: нет Всего: нет |
Плз, ну хоть какие-нибудь мысли есть?
Прогу уже готова, осталось только избавиться от глюка. |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Felt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.6.2004 Репутация: нет Всего: нет |
Это конечно не плохо, только вот размер моей проги не должен превышать 20Kb, в связи с этим приходится юзать WinAPI. Я написал громадную функцию, которая прекрасно работает, когда вызывается не более 2 раз... А потом дает ошибку, почему? Сам не знаю... Вот и жду халявы, может кто подскажет способ по короче да и по проще. Свой код пока давать не хочу: чтобы не сбивать кодеров с мыслей. За сим жду помощи...
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Вроде так... но не проверял... Это сообщение отредактировал(а) Pakshin A. S. - 3.1.2005, 19:19 |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Felt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.6.2004 Репутация: нет Всего: нет |
Спасибо всем.
Pakshin A. S. - твой код виснет. Alex - Код работает, но я список uses у меня не должен содержать модуля SysUtils. У меня там только WinSock и Windows. Пробовал расширить твою функцию, добавляя в нее недостающие процедуры из SysUtils, но все равно не получается... Плз, поможи чем можешь! |
|||
|
||||
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Вместо этого:
|
||||
|
|||||
| Felt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.6.2004 Репутация: нет Всего: нет |
Pakshin A. S. не пашет... Теперь код не виснет, но мне необходимо сделать так, чтобы группа слов, взятых в кавычки тоже считался одним параметром. У
Alex'а все путем, только вот нужно подключать модуль SysUtils, а мне этого ой как не хотца... |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Единственное эта функция перестала понимать мультибайтовые строки, но они здесь тебе и не нужны. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Это сообщение отредактировал(а) Pakshin A. S. - 4.1.2005, 11:47 |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Pakshin A. S.всеравно не правильно
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Ну... человек не упоминал...
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Вроде так... Добавлено @ 20:53 М-да... хотя бред... |
|||
|
||||
| Felt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.6.2004 Репутация: нет Всего: нет |
Всем спасибо, Alex юзаю твою функцию...
Вот пример моей старой:
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |