Форум: "Начинающим";
Текущий архив: 2009.06.07;
Скачать: [xml.tar.bz2];
ВнизНе работает программа. Найти похожие ветки
← →
Дмитрий (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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.004 c