Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 12.05.2012
Сообщений: 8

Работа со строками и файлом

18.06.2012, 15:57. Показов 674. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.
Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
procedure TForm1.Button1Click(Sender: TObject);
const m=['A','a','E','e','Y','y','U','u','I','i','O','o'];
      a=[#13,#10,#32,#9];
 
var
    s,sg : string; c : char;
    r:boolean;
    i:integer;
begin
  Memo1.Clear;
  s := '';
  r:=true;
 
  If OpenDialog1.Execute then
  Memo1.Lines.LoadFromFile( 'a.txt');
  sg:= Memo1.Text;
  Memo1.Lines.Add('=========Результат================');
  i:=0;
  while i<= Length(sg) do
  begin
    inc(i);
    c:=sg[i];
    if r then
    begin
     if not (c in a) then
     begin
      r:=false;
      s:=c;
     end;
    end
   else
   begin
    if not(c in a) then
     s:=s+c
    else
    begin
     r:=true;
     if (s[1] in m) then
     Memo1.Lines.Add(s)
    end;
   end;
  end;
  if (not r) and (s[1] in m) and (s[Length(s)] in m) then
   Memo1.Lines.Add(s);
end;
end.
Если есть возможность упростить код, помогите с этим пожалуйста, буду благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2012, 15:57
Ответы с готовыми решениями:

Работа со строками, заполнить компоненты строками из файла
Привет! Нужна помощь в заполнении формы В общем, есть форма отправки письма. У нее есть 2 функции, сохранить письмо и открыть письмо (на...

Работа с файлом
Здравствуйте, у меня есть ТextFile. В нем n-количество строк. Мне нужно пересчитать количество строк в файле. И те строки, которые не...

работа с файлом
в Edit1.text вважу двнные эти данные должен записать в файл но файл открываю как byte как это зделать

6
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.06.2012, 13:53
как-то так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  StrUtils,
  CLasses,
  types;
 
var
    lines: tStrings;
    line, subline: string;
    sublines: TStringDynArray;
    ch: Char;
 
const
    glasnie = ['a','e','y','u','i','o'];
 
begin
  try
    lines := TStringList.Create;
    lines.LoadFromFile('..\..\Project1.dpr');
    for line in lines do
    begin
        sublines := SplitString(line, ' ');
        for subline in sublines do if Length(subline) > 0 then
        begin
            ch := LowerCase(subline[1])[1];
            if CHarInSet(ch, glasnie) then
                Writeln(subline);
        end;
    end;
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
19.06.2012, 14:14
Создал шикарную обработку исключения, а объект забыл освободить
Delphi
1
lines.Free
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.06.2012, 14:24
Цитата Сообщение от antikiler_ Посмотреть сообщение
Создал шикарную обработку исключения
это не я, это он сам (delphi IDE).

Цитата Сообщение от antikiler_ Посмотреть сообщение
а объект забыл освободить
а еще я, как конь педальный, глобалки использовал...
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
19.06.2012, 14:34
Цитата Сообщение от dondublon Посмотреть сообщение
а еще я, как конь педальный, глобалки использовал...
Если при этом нет утечек памяти, то нормально....
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.06.2012, 14:37
Цитата Сообщение от antikiler_ Посмотреть сообщение
Если при этом нет утечек памяти, то нормально....
Немного о глобальных переменных
мне уже стыдно.
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
19.06.2012, 14:49
Да, знаю Я, что ты самый Ярый противник глобальных переменных.Читал твои негодования по этому вопросу... Ты даже хотел какое-то злое наказание ввести по этому поводу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.06.2012, 14:49
Помогаю со студенческими работами здесь

Работа с файлом
Здравствуйте. Нужна помощь. У нас есть программа, которая считывает матрицу из файла и выводит её сумму в memo в виде строки &quot;Сумма...

Работа с файлом
Помогите доделать задачу, пожалуйста Условие: Создать файл book, содержащий сведения о книгах(10 записей): фамилия автора, название и...

Работа с файлом
Доброго времени суток программисты.... procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var s:string; ...

Работа с файлом
Знаю, ошибок здесь много, а костылей еще больше, но сейчас не о них, не могу решить проблему с файлом, в котором содержатся врачи(f2), мне...

Работа с файлом
procedure TForm1.Button5Click(Sender: TObject); var k,m:integer; sbal1,sbal2,n,sum:extended; begin ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru