Консультация № 178972
07.06.2010, 10:01
35.95 руб.
0 2 1
Доброго времени суток, уважаемые эксперты. Требуется ваша помощь в написании программы.(для Windows, cреда - любая)
Задача аналогична вопросу 177776 (Написать программу, которая подсчитывает и количество пустых строк в текстовом файле. Путь к файлу указывается пользователем) . Только теперь это необходимо реализовать в графическом режиме с простым меню редактирования файла (создать - открыть - сохранить - закрыть) и выводимым числом строк и пустых строк.
Просьба по возможности приложить исполняемый файл и архив с проектом.
Заранее спасибо.

Обсуждение

Неизвестный
07.06.2010, 15:49
общий
это ответ
Здравствуйте, Botsman.
Ниже приведен текст программы.
Создайте простое приложение Application
Добавьте на форму
- TMenu
- TMemo
- TLabel
- TOpenDialog
- TSaveDialog

В меню создаем 4 комманды - Создать/Открыть/Сохранить/Выход
Количество строк подсчитываем в событии TMemo OnChange

К сожалению прикрепить архивы мне не удалось, могу выслать почтой.

Удачи.

Приложение:
================= unit1.h ==============
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Dialogs.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMemo *Memo1;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TLabel *Label1;
TSaveDialog *SaveDialog1;
TOpenDialog *OpenDialog1;
TMenuItem *N6;
TMenuItem *N7;
void __fastcall N3Click(TObject *Sender);
void __fastcall N2Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall N5Click(TObject *Sender);
void __fastcall Memo1Change(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

============= Unit1.cpp =======================
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)
{
Memo1->Lines->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N2Click(TObject *Sender)
{
if (OpenDialog1->Execute()) {
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)
{
if (SaveDialog1->Execute()) {
Memo1->Lines->SaveToFile(SaveDialog1->FileName);
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Memo1Change(TObject *Sender)
{
int scount = 0;

// ищем пустые строки
for (int i=0; i<Memo1->Lines->Count; i++) {
if (Memo1->Lines->Strings[i] == "") scount++;
}

Label1->Caption = "Пустых строк: " + AnsiString(scount);
}
//---------------------------------------------------------------------------

5
Спасибо!
Неизвестный
07.06.2010, 16:17
общий
dvserg:
Спасибо большое.
Если есть возможность, вышлите пожалуйста архивы к с проектами (в идеале - и к предыдущему вопросу) на адрес, который я указал в сообщении по внутренней почте.
Форма ответа