Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2008, 21:23   #1
RatMir
 
Регистрация: 09.06.2008
Сообщений: 3
Смущение Работа с файлами

Помогите, пжалуста, с прогой: Написать программу, которая открывает текстовый файл (в МЕМО), в этом текстовом файле в словах, начинающихся с буквы "в", первую букву(т.е "в") заменить на "у" (например, Велосипед- Уелосипед). Уже месяц мучаюсь.
RatMir вне форума Ответить с цитированием
Старый 09.06.2008, 21:50   #2
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

На чем надо написать?
Olympian вне форума Ответить с цитированием
Старый 09.06.2008, 22:37   #3
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Держи код. Пришлось сшаманить, ибо, как выяснилось, непосредственно изменять символ в строке Memo нельзя. Разделители слов сам добавишь, лень все вспоминать
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
const Razd: set of char =
  [' ','.','!','?',',',':',';','(',')'];
var i, j: integer;
    s: string;
begin
for i := 0 to Memo1.Lines.Count-1 do
  for j := 1 to Length(Memo1.Lines[i]) do
    begin
    if (j = 1) then
      begin
      if Memo1.Lines[i][j] = 'в' then
        begin
        s := Memo1.Lines[i];
        s[j] := 'у';
        Memo1.Lines[i] := s;
        end
      else
        if Memo1.Lines[i][j] = 'В' then
          begin
          s := Memo1.Lines[i];
          s[j] := 'У';
          Memo1.Lines[i] := s;
          end;
      end
    else
      if Memo1.Lines[i][j-1] in Razd then
        begin
        if Memo1.Lines[i][j] = 'в' then
          begin
          s := Memo1.Lines[i];
          s[j] := 'у';
          Memo1.Lines[i] := s;
          end
        else
          if Memo1.Lines[i][j] = 'В' then
            begin
            s := Memo1.Lines[i];
            s[j] := 'У';
            Memo1.Lines[i] := s;
            end;
        end;
    end;
end;
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 09.06.2008, 23:05   #4
RatMir
 
Регистрация: 09.06.2008
Сообщений: 3
По умолчанию

O_G_R_O_M_N_O_E S_P_A_S_I_ B_O !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!
RatMir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03
Работа с файлами Stiker Общие вопросы C/C++ 1 10.04.2008 22:47
Работа с файлами ShVad Общие вопросы Delphi 4 03.02.2007 10:43
Работа с файлами El_Bint0 Помощь студентам 1 20.12.2006 02:07