IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите с программкой, Отсортировать Интернет ссылки
777
сообщение 27.01.2010 0:19
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Нужно составить программу во FREE Паскале, которая из текстового файла забирает все имеющиеся в нём Интернет ссылки, и выводит их на экран + сохраняет их в другой текстовый файл! Чесно скажу, я учусь на заочном, второй семестр на занятиях полностью отсутствовал из за работы, и сейчас на работе такой завал, сто вникать в Паскаль просто нет возможности! Пожалуйста, помогите! Что такое программа Паскаль я узнал четыре дня назад, на лабораторной работе по информатике...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 27.01.2010 11:55
Сообщение #2


Гость






Цитата
Нужно составить программу во FREE Паскале, которая из текстового файла забирает все имеющиеся в нём Интернет ссылки, и выводит их на экран + сохраняет их в другой текстовый файл
Вот в FPC это делается элементарно, как раз:
{$mode objfpc}
uses
  classes,
  regexpr, strutils;

var
  re: TRegExprEngine;
  s, subs: AnsiString;
  ok: boolean;
  index, len: longint;

  sL_In, sL_Out: TStringList;

begin
  sL_In := TStringList.Create;
  sL_Out := TStringList.Create;
  try
    sL_In.LoadFromFile('test.txt'); // отсюда берем текст
    s := sL_In.Text;

    ok := GenerateRegExprEngine(
      'http://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\''\,]*)?',
      [], re
    );


    if not ok then writeln('error: init regexp')
    else
    begin
      subs := s;
      while Length(subs) > 0 do
      begin
        if RegExprPos(re, PChar(subs), index, len) then
        begin
          sL_Out.Add(Copy(subs, index + 1, len));
          subs := RightStr(subs, Length(subs) - index - len);
        end
        else
          break;
      end;
      DestroyRegExprEngine(re);
      sL_Out.SaveToFile('result.txt'); // сюда записываем все ссылки
    end;

  finally
    sL_Out.Free;
    sL_In.Free;
  end;
end.
Только непонятно, чем тебе это поможет, ты ж не разберешься, как оно работает, если Паскаль увидел 4 дня назад...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
777   Помогите с программкой   27.01.2010 0:19
volvo   Вот в FPC это делается элементарно, как раз:{...   27.01.2010 11:55
777   Огромное спасибо!!! Мне это поможет ли...   27.01.2010 15:09
777   Записал листинг в программу, всё как Вы написали, ...   27.01.2010 23:39
777   Зачем же Вы так резко, я ведь не в претезии написа...   28.01.2010 0:10
Lapp   Зачем же Вы так резко, я ведь не в претезии написа...   28.01.2010 20:32
777   Я ни в коем случае не хотел никого обвинять, и в м...   29.01.2010 0:22
Lapp   А на данный момент я исправил то что мне было сказ...   29.01.2010 1:12
777   Послушай, [b]777, к сожалению, единственный спосо...   29.01.2010 22:15
volvo   У меня НЕТ такого идентификатора. Есть Copy Такого...   27.01.2010 23:47
volvo   Извини, не получилось ЧТО? Выделить текст программ...   29.01.2010 4:06
777   Извини, не получилось ЧТО? Выделить текст програм...   29.01.2010 22:29
volvo   А ты это условие ПРИВЕЛ раньше? Здесь что, форум т...   29.01.2010 22:28
Lapp   777, пожалуйста, используй тэги при публикации код...   29.01.2010 22:41
777   777, пожалуйста, используй тэги при публикации ко...   29.01.2010 22:52
Lapp   Я сейчас нажал код (#), но честное слово, я не пон...   29.01.2010 23:09
777   777, пожалуйста, используй тэги при публикации ко...   29.01.2010 23:23
Lapp   по поводу <непонимания простых вещей> - поче...   29.01.2010 23:44
777   Поверь мне, иногда нежелание пошевелить лишний ра...   31.01.2010 19:35
Lapp   довести дело до конца, если получится, то попытать...   1.02.2010 1:04
777   Сергей, если нужна помощь в понимании или обучени...   1.02.2010 6:55
volvo   То, что ты говоришь - еще дальше от правды. Чтобы ...   1.02.2010 9:42
777   То, что ты говоришь - еще дальше от правды. Чтобы...   1.02.2010 10:29
volvo   Смотри, я прокомментировал каждую строку своего ко...   1.02.2010 11:25
777   Смотри, я прокомментировал каждую строку своего к...   1.02.2010 12:23
volvo   Если возникают вопросы - уже хорошо... Гораздо хуж...   1.02.2010 13:07
Lapp   Если возникают вопросы - уже хорошо... Гораздо хуж...   1.02.2010 21:12
777   Все вопросы, которые будут - задавай. Начнём с...   1.02.2010 21:43
volvo   "Ну-с, приступим..." (С) Итак, когда я ...   1.02.2010 22:23
777   Ну что, хоть что-то их того, что я тут написал, с...   1.02.2010 22:39
777   Добрый день всем!!! Это опять я... use...   2.02.2010 12:42
Lapp   Правильно ли я понял, что вот эти модули - есть, к...   2.02.2010 20:52
777   Перед использованием модуля ты должен прочитать е...   2.02.2010 21:23
Lapp   Как и где найти описание переменных , модулей и фу...   2.02.2010 23:20
777   У тебя учебник есть? Какой? Да НЕТ конечно...   3.02.2010 8:56
Unconnected   Посмотри здесь: Литература , там по паскалю есть к...   3.02.2010 13:42
Гость   Вот с этого и надо было начинать! (Книжки)   6.02.2010 13:12
Гость - ZetVV   Volvo, Laap! Удивляюсь Вашей выдержке! :g...   6.02.2010 13:27


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 1.08.2025 18:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"