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

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Как найти максимальное число в тексте?
KljaGGsa
сообщение 5.07.2009 18:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

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


Если есть текстовый файл Т.txt , в тексте которого содержится несколько трехзначных чисел, как должна выглядеть процедура, с помощью которой можно было бы найти максимальное число и присвоить его целочисленной переменной i ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 6.08.2009 15:06
Сообщение #2


Гость






Цитата
Как превратить эти светлые соображения в код
Очень просто...

На форме - Мемо, и две кнопки, одна для сохранения в файл текущего содержимого Memo, а вторая - для занесения в Memo случайного фрагмента из файла. Плюс к этому - TSaveDialog + TOpenDialog для задания имен файлов:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Save: TButton;
Random: TButton;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
procedure SaveClick(Sender: TObject);
procedure RandomClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;

procedure TForm1.RandomClick(Sender: TObject);
var
SL: TStringList;
num: Integer;
begin
SL := TStringList.Create;
try
if OpenDialog1.Execute() then begin
SL.LoadFromFile(OpenDialog1.FileName);
num := System.Random(SL.Count);
Memo1.Text := StringReplace(SL.Strings[num], '<br>', #13#10, [rfReplaceAll]);
end;
finally
SL.Free
end;
end;

procedure TForm1.SaveClick(Sender: TObject);
var
f: TextFile;
begin
if SaveDialog1.FileName = '' then begin
if not SaveDialog1.Execute() then Exit;
end;
AssignFile(f, SaveDialog1.FileName);
try
Append(f);
except
Rewrite(f);
end;
WriteLn(f, StringReplace(Memo1.Text, #13#10, '<br>', [rfReplaceAll]));
CloseFile(f);
end;

end.
Если что непонятно - спрашивай...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
KljaGGsa   Как найти максимальное число в тексте?   5.07.2009 18:57
volvo   Что кроме чисел есть в файле, и чем отделяются сло...   5.07.2009 18:59
KljaGGsa   Вот образец содержимого файла: 001 фрагмент текс...   6.07.2009 6:06
volvo   Общее количество строк в файле... var sL: TStringL...   6.07.2009 12:46
KljaGGsa   Вот на эту строчку: if TryStrToInt(sL.Strings[i],...   6.07.2009 14:00
volvo   Ну, так переменную Value типа Integer надо описать...   6.07.2009 14:32
KljaGGsa   Владимир, а можно Вас попросить добавить комментар...   6.07.2009 14:51
volvo   Комментарии добавлены...   6.07.2009 15:04
KljaGGsa   Так хотелось бы с вашей помощью эти комментарии пр...   6.07.2009 15:13
volvo   KljaGGsa, я имел в виду, что я в свой код, выше (в...   6.07.2009 15:31
KljaGGsa   Есть целочисленная переменная r, значение которой ...   6.07.2009 15:49
volvo   Смотри: procedure TForm1.Button2Click(Sender: TObj...   6.07.2009 17:41
KljaGGsa   Ну да, мы изначально условились, что r входит в ди...   6.07.2009 19:02
youngDelphyGirl   p := 5; // Будем искать в файле фрагмент № ...   5.08.2009 3:17
volvo   А если мы даже приблизительно не знаем, сколько фр...   5.08.2009 8:15
youngDelphyGirl   А нам и не надо знать, сколько фрагментов в текст...   6.08.2009 9:39
volvo   В принципе, не вижу проблем, чтоб хранить в файле ...   6.08.2009 11:14
youngDelphyGirl   Единственное, на что надо обратить внимание при ...   6.08.2009 13:47
volvo   Очень просто... На форме - Мемо, и две кнопки, од...   6.08.2009 15:06
youngDelphyGirl   Спасибо, сейчас начну писать построчные комментари...   9.08.2009 8:25


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

 



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