Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.07;
Скачать: CL | DM;

Вниз

Не работает программа.   Найти похожие ветки 

 
Дмитрий   (2009-04-21 21:07) [0]

Ребята подскажите пожалуйста новичку.
Я делаю програмку, в которой нужно  в Edit ввести цифры и после нажатия кнопки "Показать" должен загрузиться txt файл (в Memo1 )
название которого совпадает с введнными цифрами.
А если ввести цифры для которых файлов нет, написать, что таких файлов не найдено.
Например ввожу 101 - должен загрузится 101.txt.
Вот код:
unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   Memo1: TMemo;
   Edit1: TEdit;
   Label1: TLabel;
   Label2: TLabel;
   XPManifest1: TXPManifest;
   procedure Button3Click(Sender: TObject);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Edit1KeyPress(Sender: TObject; var Key: Char);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
Uses Unit2;
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Enabled:=False;
Form2.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if Edit1.Text=("101") then Memo1.Lines.LoadFromFile("baza\101.txt")
or if Edit1.Text=("102") then Memo1.Lines.LoadFromFile("baza\102.txt")
or if Edit1.Text=("103") then Memo1.Lines.LoadFromFile("baza\103.txt")
or if Edit1.Text=("123") then Memo1.Lines.LoadFromFile("baza\123.txt")
or if Edit1.Text=("406") then Memo1.Lines.LoadFromFile("baza\406.txt")
else
begin
ShowMessage("Такого файла не найдено!");
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ["0".."9", #8,"a","b","c","d","e","f",#13]) then Key := #0;
if not (Key in ["0".."9", #8,"a","b","c","d","e","f",#13]) then ShowMessage("Недопустимый символ !");
if(Key = #13) then Form1.Button2.Click;
end;
end.

При компиляции на последнем END
обработчика Button2 - красная строка.
Подскажите где тут ошибка.
Заранее благодарю.


 
Servy ©   (2009-04-21 21:22) [1]

> Подскажите где тут ошибка.


Каждому begin"у должен соответствовать свой end. В приведенной программе это правило нарушено.

Кроме того, конструкции if <условие1> then <операция1> or <условие2> then <операция2> в языке Делфи нет. Прежде чем писать ерунду, потрудитесь ознакомиться с литераторуй или документацией по использщуемому языку.


 
Игорь Шевченко ©   (2009-04-21 21:26) [2]


> Не работает программа


какой кошмар


 
AlexDan ©   (2009-04-21 21:48) [3]

даже турбопаскалю детей не учат, а надо бы..).


 
Игорь Шевченко ©   (2009-04-21 22:01) [4]


> Подскажите где тут ошибка.


на последнем end


 
DVM ©   (2009-04-21 22:06) [5]


> Дмитрий   (21.04.09 21:07)  


> Подскажите где тут ошибка.


procedure TForm1.Button2Click(Sender: TObject);
begin
if Edit1.Text=("101") then Memo1.Lines.LoadFromFile("baza\101.txt")
or if Edit1.Text=("102") then Memo1.Lines.LoadFromFile("baza\102.txt")
or if Edit1.Text=("103") then Memo1.Lines.LoadFromFile("baza\103.txt")
or if Edit1.Text=("123") then Memo1.Lines.LoadFromFile("baza\123.txt")
or if Edit1.Text=("406") then Memo1.Lines.LoadFromFile("baza\406.txt")
else
 ShowMessage("Такого файла не найдено!");
end;


 
DVM ©   (2009-04-21 22:07) [6]

и or замени на else еще


 
easy ©   (2009-04-21 22:15) [7]

procedure TForm1.Button2Click(Sender: TObject);
var
 filename:string;
begin
 filename:= Format("baza\%s.txt",[Edit1.Text]);
 if FileExists(filename) then
   Memo1.Lines.LoadFromFile(filename)
 else
   ShowMessage("Такого файла не найдено!");
end;


 
DVM ©   (2009-04-21 22:25) [8]

procedure TForm1.Button2Click(Sender: TObject);
var
filename:string;
begin
filename:= Format("baza\%s.txt",[Edit1.Text]);
try
  Memo1.Lines.LoadFromFile(filename);
except
  ShowMessage("Такого файла не найдено!");
end
end;


 
Servy ©   (2009-04-21 22:34) [9]

> [8]


А если Memo1 = nil, зачем оно мне кажет, что файла не найдено? Или если там файл размером в 8 Гб? Вариант из [7] лучше ^_^.

А еще мне казалось, что не в правилах этого форума давать готовый код, но направлять новичков на путь истинный ^_^.


 
Игорь Шевченко ©   (2009-04-21 22:38) [10]

easy ©   (21.04.09 22:15) [7]
DVM ©   (21.04.09 22:25) [8]

аж завидно...

DVM ©   (21.04.09 22:25) [8]

А за такой код в приличном обществе канделябром бьют и больно :)


 
DVM ©   (2009-04-21 22:42) [11]


> Игорь Шевченко ©   (21.04.09 22:38) [10]


> А за такой код в приличном обществе канделябром бьют и больно
> :)

да ладно, сойдет, иначе длинно выходит писать долго.


 
DVM ©   (2009-04-21 22:48) [12]


> Servy ©   (21.04.09 22:34) [9]
>
> > [8]
>
>
> А если Memo1 = nil, зачем оно мне кажет, что файла не найдено?
>  Или если там файл размером в 8 Гб? Вариант из [7] лучше
> ^_^.

тогда убрать вообще все :)

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(Format("baza\%s.txt",[Edit1.Text]));
end;

Будут вполне информативные сообщения на любой чих.


 
Игорь Шевченко ©   (2009-04-21 22:50) [13]

DVM ©   (21.04.09 22:42) [11]


> да ладно, сойдет, иначе длинно выходит писать долго.


Я имею в виду, за скрытие причины Exception, если что :)


 
DVM ©   (2009-04-21 22:51) [14]


> Я имею в виду, за скрытие причины Exception, если что :)

я понял, и я ждал этого :)


 
Дмитрий   (2009-04-22 00:11) [15]

Спасибо всем за ответ!  Разобрался.


 
Германн ©   (2009-04-22 01:25) [16]


> Дмитрий   (22.04.09 00:11) [15]
>
> Спасибо всем за ответ!  Разобрался.
>

Учебник по основам Паскаля уже купил?



Страницы: 1 вся ветка

Текущий архив: 2009.06.07;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.01 c
15-1238760399
desc
2009-04-03 16:06
2009.06.07
SW_RESTORE


15-1238736040
@!!ex
2009-04-03 09:20
2009.06.07
Как сделать счетчик скачивания файла?


15-1238693439
palva
2009-04-02 21:30
2009.06.07
Бесплатный хостинг fatal.ru возобновил регистрацию


3-1222169341
Ega23
2008-09-23 15:29
2009.06.07
ODBC DSN с сохранением пароля


4-1210912319
Sirus
2008-05-16 08:31
2009.06.07
Управление печатью средствами Дельфи