Одесса: 5°С (вода 9°С)
Киев: 0°С
Львов: -1°С

Тема: Как реализовать это в Delphi

Ответить в теме
Показано с 1 по 14 из 14
  1. Вверх #1
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    26
    Сообщений
    4,053
    Репутация
    2388

    По умолчанию Как реализовать это в Delphi

    Скажите пожалуйста как взять строчку из Memo и назовем так анализировать...
    Допустим строчка 192.168.1.0/23, мне нужно из строчки присвоить определенным переменный присвоить числа после 1-й точки, 2-й точки, 3 точки и число после слэша...


  2. Вверх #2
    Частый гость Аватар для CrazySquirrel
    Пол
    Мужской
    Возраст
    30
    Сообщений
    900
    Репутация
    95
    Бери строку...
    Разбирай её "по точкам", т работай с массивом

  3. Вверх #3
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    26
    Сообщений
    4,053
    Репутация
    2388
    ну вот в этом у меня у проблема, я плохо знаю Delphi и незнаю как строку в мемо разобрать...

  4. Вверх #4
    строки из мемы можно дернуть так
    Memo.Lines.Strings[Index: Integer]
    первая строка 0 и т.д.
    парсить с помощью функций работы со строками
    Pos определяет номер символа в строке(в общем случае номер начального символа вхождения подстроки в строку)
    Copy копирует подстроку с ... по ...

  5. Вверх #5
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    26
    Сообщений
    4,053
    Репутация
    2388
    ещё будут варианты?
    благодарен за предложенные, но всё же интересно...

  6. Вверх #6
    Постоялец форума Аватар для Syon
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    46
    Сообщений
    1,034
    Репутация
    92
    Записей в дневнике
    1
    Забить болт на программирование. Если такие вопросы возникают...
    Ынщть.

  7. Вверх #7
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    30
    Сообщений
    2,952
    Репутация
    148
    Использовать регулярные выражения.
    ~ Motivation is what gets you started. Habit is what keeps you going.

  8. Вверх #8
    Частый гость Аватар для Lexis
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    32
    Сообщений
    715
    Репутация
    166
    Ну.. если еще нужны варианты..
    кроме как вытаскивания определенной строки и поиска точки, можно канечно использовать тупой просмотр по одному. А вот pos естественно хорошо, только если в одной строке до фига разных разделителей, то много мороки. Тут проще заранее забить set из разделителей и спрашивать
    символ
    a: set of ['/', '.',':',';'];

    s:=Memo.Lines.Strings[Index: Integer];
    i:=1;
    s1:='';
    index2:=1;
    while i<=length(s) do
    begin
    if not( s[i] in a ) then s1:=s1+s[i] else
    begin
    _variable[Index,index2]:=s1;
    inc(index2);
    s1:='';
    end;
    inc(i);
    end;


    это пример в конкретной строке index
    А все переменные будут в массиве _variable[] index-номер строки, index2 - порядковый номер переменной
    Только смерть помогает понять смысл жизни

  9. Вверх #9
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    26
    Сообщений
    4,053
    Репутация
    2388
    Цитата Сообщение от Lexis Посмотреть сообщение
    Ну.. если еще нужны варианты..
    кроме как вытаскивания определенной строки и поиска точки, можно канечно использовать тупой просмотр по одному. А вот pos естественно хорошо, только если в одной строке до фига разных разделителей, то много мороки. Тут проще заранее забить set из разделителей и спрашивать
    символ
    a: set of ['/', '.',':',';'];

    s:=Memo.Lines.Strings[Index: Integer];
    i:=1;
    s1:='';
    index2:=1;
    while i<=length(s) do
    begin
    if not( s[i] in a ) then s1:=s1+s[i] else
    begin
    _variable[Index,index2]:=s1;
    inc(index2);
    s1:='';
    end;
    inc(i);
    end;


    это пример в конкретной строке index
    А все переменные будут в массиве _variable[] index-номер строки, index2 - порядковый номер переменной
    спасибо...

  10. Вверх #10
    Постоялец форума Аватар для Newton
    Пол
    Мужской
    Адрес
    Calgary, Alberta
    Сообщений
    1,080
    Репутация
    775
    а есть еще способ с помощью конечных автоматов (который был назван " тупой просмотр по одному"). но он, наверное, будет оправдан, только если задачка будет посложнее.
    Моя хата з найкращого краю в світі.

  11. Вверх #11
    Посетитель
    Пол
    Мужской
    Возраст
    38
    Сообщений
    103
    Репутация
    22
    Не надо здесь функций работы со строками и регулярных выражений, в VCL есть штатное средство для подобного разбора строки. Почитай справку по классу TStringList, конкретно - мемберы Delimiter и DelimitedText.

  12. Вверх #12
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    26
    Сообщений
    4,053
    Репутация
    2388
    ААА...Оно рабоатет...
    Вложения
    • Тип файла: zip IPCfYH.zip (510.2 Кб, Просмотров: 14)

  13. Вверх #13
    Постоялец форума Аватар для iod
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    2,214
    Репутация
    478
    Записей в дневнике
    3
    Цитата Сообщение от Skeeter Посмотреть сообщение
    Допустим строчка 192.168.1.0/23, мне нужно из строчки присвоить определенным переменный присвоить числа после 1-й точки, 2-й точки, 3 точки и число после слэша...
    Функция ExtractWord из библиотеки RxLib.

  14. Вверх #14
    из библиотеки RegExp юзаем простейшую регулярку - '\d+\.\d+\.\d+\.\d+\\\d+'
    In TRANCE I trust...


Ответить в теме

Похожие темы

  1. Изоброжения и Delphi
    от Shadow_exe в разделе Программирование
    Ответов: 9
    Последнее сообщение: 20.10.2006, 22:47
  2. компилятор для Delphi
    от oz(skyline) в разделе Программирование
    Ответов: 3
    Последнее сообщение: 25.06.2006, 22:36
  3. Подскажите Delphi 6
    от U391 в разделе Программирование
    Ответов: 11
    Последнее сообщение: 22.05.2006, 11:05
  4. помогите в Delphi 7
    от U391 в разделе Программирование
    Ответов: 6
    Последнее сообщение: 22.05.2006, 10:57
  5. Delphi 7
    от Shadow_exe в разделе Программирование
    Ответов: 29
    Последнее сообщение: 26.03.2006, 15:54

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения