Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.012 c
15-1238654831
alexander
2009-04-02 10:47
2009.06.07
ASYNC pro


2-1240468106
товарищ вася
2009-04-23 10:28
2009.06.07
Панель onTop


2-1240308814
aza
2009-04-21 14:13
2009.06.07
Помогите редактировать записи..


15-1238877001
Юрий
2009-04-05 00:30
2009.06.07
С днем рождения ! 5 апреля 2009 воскресенье


2-1240404361
cyber-pilot
2009-04-22 16:46
2009.06.07
TFileOpen vs chm





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский