Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Компоненты TOpenDialog и TSaveDialog [D7, XP]


Страницы:   1 2

Boortwint ©   (2010-04-02 13:52:00) 

Дали мне тут задание задание.
Создать програмулину для работы на автобусной станции.
Суть ее заключается в том, чтобы с помомощью этой программы вбить номер маршрута автобуса, его тип, пункт назначения, время отправления и время прибытия.
Необходимо вывести маршрут, который занимает минимальное время. Отсюда первый вопрос: какой тип данных нужно использовать, чтобы введенное в edit число преобразовывалось во время?. Я использовал DateTime, но число у меня преобразовывалось в дату, т.е., к примеру, 02.04.2010, а оно мне не надо. Нужно время.
Информация должна сохраняться в отдельном txt файле.
Все чего мог я добиться - это создать 2 кнопки: "открытие" и "создание" файла. Необходимо еще придумать как создать кнопку сохранить, но до меня не доходит как это сделать.
       Type
 Tavt=record                 //Объявление типа "запись"
 Nmar: integer;              //номер маршрута
 Tipavt: string[20];        //Тип автобуса
 Punkt: string[20];         //пункт назначения
 VrOtpr: TDateTime;      //время отправления
 VrPr: TDateTime;         //время прибытия
 end;

 Var
 Fz:File of Tavt;
 Ft:TextFile;
 Avto:array[1..100] of Tavt; //объявления массива типа Tavt
 nzap:integer;
 FileNameZ, FileNameT : string;

var
 Form1: TForm1;

Выше приведены все типы переменных, которые я использовал

Кнопка ввода информации в файл:
procedure TForm1.Button1Click(Sender: TObject);
begin
nzap:=nzap+1;
 with Avto[nzap] do begin
          Nmar:=StrToInt(Edit1.Text);
          Tipavt:=Edit2.Text;
          Punkt:=Edit3.Text;
          VrOtpr:=StrToInt(Edit4.Text);
          VrPr:=StrToInt(Edit5.Text);
 Memo1.Lines.Add(IntToStr(Nmar)+' '
 +Tipavt+'  '
 +Punkt+'   '
 +DateToStr(VrOtpr)+'   '
 +DateToStr(VrPr));
                               end;
    Write(fz,Avto[nzap]);    
  Edit1.Text:='';
  Edit2.Text:='';
  Edit3.Text:='';
  Edit4.Text:='';
  Edit5.Text:='';

end;


Кнопка создания файла:
procedure TForm1.Button2Click(Sender: TObject);
begin
  OpenDialog1.Title :='Создать новый файл';  
if OpenDialog1.Execute then  /
  begin
   FileNameZ:= OpenDialog1.FileName;
   AssignFile(Fz,FileNameZ);  /
    Rewrite(Fz);                        
  end;

Кнопка открытия файла
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then  
  begin
   FileNameZ:= OpenDialog1.FileName; // возвращение имени дискового файла
   AssignFile(Fz, FileNameZ);    // связывание файловой переменной с именем файла
    Reset(Fz);                                // открытие
  end;
 while not eof(fz) do begin
  nzap:=nzap+1;
    Read(fz,Avto[nzap]);                // чтение записи из файла
        with Avto[nzap] do

   Memo1.Lines.Add(IntToStr(Nmar)+' '
 +Tipavt+'  '
 +Punkt+'   '
 +DateToStr(VrOtpr)+'   '
 +DateToStr(VrPr));
                                end;

end;


Возникает вопрос: как сохранять все это дело в файле и как осуществить выборку наименьшего времени пути до пункта назначения. Буду рад любой помощи. Заранее спасибо.


Boortwint   (2010-04-02 18:09:00) [21]

Стебаться мы умеем, это да))
Ну, благо пару полезных постов я нашел. Спасибо.


Anatoly Podgoretsky   (2010-04-02 17:54:00) [22]


> Дядя Толя, да у меня ни button1, ни button2 нету... Каюсь,
>  код смотреть не стал после:

Так сделай, чего же расстраиваться.


Jeer   (2010-04-02 15:32:00) [23]


> Странно, что автора итрересуют не графы и алгоритм поиска
> оптимального маршрута а ввод/вывод.


Так он и это не умеет, а ты про оптимизацию, графы..


Dennis I. Komarov   (2010-04-02 15:29:00) [24]


> Не пропадет, открыть у тебя на button3

Дядя Толя, да у меня ни button1, ни button2 нету... Каюсь, код смотреть не стал после:

> Все чего мог я добиться - это создать 2 кнопки: "открытие"
> и "создание" файла. Необходимо еще придумать как создать
> кнопку сохранить, но до меня не доходит как это сделать.
>  

По логике открыть должна быть первой... ;)


Anatoly Podgoretsky   (2010-04-02 15:23:00) [25]


> Дык тогда "Открыть" пропадет...

Не пропадет, открыть у тебя на button3


Демо   (2010-04-02 15:12:00) [26]

         VrOtpr:=StrToInt(Edit4.Text);
         VrPr:=StrToInt(Edit5.Text);


А почему к целому преобразуешь?
Ведь функция для преобразования даты/времени есть - StrToDate, например?


oldman   (2010-04-02 15:10:00) [27]


> Я использовал DateTime, но число у меня преобразовывалось
> в дату, т.е., к примеру, 02.04.2010, а оно мне не надо.


Оно не преобразовывалось, оно так выводилось на экран.
Поверь, время там тоже есть, но прячется.


И. Павел   (2010-04-02 15:05:00) [28]

Странно, что автора итрересуют не графы и алгоритм поиска оптимального маршрута а ввод/вывод.


Dennis I. Komarov   (2010-04-02 15:04:00) [29]


> Boortwint ©   (02.04.10 13:52)  

http://yandex.ru/yandsearch?text=%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F+%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2+%D0%B8+%D0%B5%D0%B5+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&stpar2=%2Fh1%2Ftm7%2Fs1&stpar4=%2Fs1&stpar1=%2Fu1&stpar3=%2Fk2%2Ftc29%2Fnc1&lr=11


Dennis I. Komarov   (2010-04-02 15:02:00) [30]


> Button 1.Caption := 'Сохранить';

Дык тогда "Открыть" пропадет...


Anatoly Podgoretsky   (2010-04-02 14:42:00) [31]

> Boortwint  (02.04.2010 13:52:00)  [0]

Button1.Caption := 'Сохранить';


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо