Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

НУжно просто навсего удалить файл   Найти похожие ветки 

 
KLAUS ©   (2004-05-09 19:19) [0]

Народ помоги те плиз, нужно удалить файл если ввели не правильный номер.Проблема в том, что если ввести сначало верный номер, а затем не верный, а файл удаляется, но если ввысти вырный файл, закрыть программу, затем запустить и ввысти не верный номер, но файл не удаляется.....ПЛИЗ HELP

procedure TForm2.Edit1Change(Sender: TObject);
var
i: byte;
begin
if Length(Edit1.Text)>0 then
for i:=0 to Length(Edit1.Text) do begin
If (Edit1.Text[i]="1") or (Edit1.Text[i]="2") or
(Edit1.Text[i]="3") or (Edit1.Text[i]="4") or
(Edit1.Text[i]="5") or (Edit1.Text[i]="6") or
(Edit1.Text[i]="7") or (Edit1.Text[i]="8") or
(Edit1.Text[i]="9") or (Edit1.Text[i]="0")
then
begin
Edit1.Text:="";
g:="";
g:=g+"НЕЛЬЗЯ"+#160+"ИСПОЛЬЗОВАТЬ"+#160+" ЦИФРЫ";
ShowMessage(g);
end;
end;
end;

procedure TForm2.Button1Click(Sender: TObject);
var
f1:TextFile;
s:byte;
a:integer;
ch : array [0..1000] of Char;
Begin
Form1.Edit1.Text:=Edit2.Text;
If Edit1.Text="" then begin
ShowMEssage(Input Name) ;   //Input Name
Edit2.Text:="";
end
else
If Form1.Label10.Caption=Edit2.Text then
a:= GetSystemDirectory(ch, MAX_PATH);
AssignFile(f1,ch+".r");
rewrite(f1);
writeln(f1,Edit2.Text);
CloseFile(f1);
Form1.Caption:=GOOD;
Edit1.Text:="";
Edit2.Text:="";

end
else begin
if FileExists(ch+".r") then
DeleteFile(ch+".r");
ShowMessage("BAD");  
Edit1.Text:="";
Edit2.Text:="";
begin
s:=10;
if length(Edit2.text)<>s then
DeleteFile(ch+".r");
Form1.Caption:=Ne zareg;
end ;
end;
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
var
d:byte;
begin
d:=15;
Edit2.MaxLength:=d;
end;
end.


 
KilkennyCat ©   (2004-05-09 19:33) [1]

procedure TForm2.Edit1Change(Sender: TObject);
var
 i: byte;
begin
 if Length(Edit1.Text)>0 then for i:=1 to Length (Edit1.Text) do If Edit1.Text[i] in ["0".."9"] then begin
   Edit1.Text:="";
   ShowMessage("НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ЦИФРЫ");
   break;
 end;
end;


это что касается первой части. Сравните внимательно. Это так должны были бы сделать Вы, если не хотите делать маску или просто отлавливать нажатие клавиш.


 
KilkennyCat ©   (2004-05-09 19:34) [2]

Да, кстати, если до ошибочного введения цифры, что-то было правильно, оно исчезнет.... нехорошо.


 
KilkennyCat ©   (2004-05-09 19:39) [3]

А во второй части вы то ли лишний End написали, то ли недописали где-то Begin... И вообще, посмотрите мой листинг, и посмотрите свой. От Вашего, извините, просто голова болит. Отформатируйте, "плиз".


 
KLAUS ©   (2004-05-09 19:57) [4]

Да ошибка в этой части
if FileExists(ch+".r") then
 DeleteFile(ch+".r");
 ShowMessage("BAD");  
Edit1.Text:="";
Edit2.Text:="";
  begin
    s:=10;
  if length(Edit2.text)<>s then
DeleteFile(ch+".r");


 
KLAUS ©   (2004-05-09 20:20) [5]

Люди добрые помогите?


 
KilkennyCat ©   (2004-05-09 21:47) [6]

Ne zareg - это переменная?

procedure TForm2.FormCreate(Sender: TObject);
var
 d:byte;
begin
 d:=15;
 Edit2.MaxLength:=d;
end;

Это не нужно. Для первого объявления достаточно выставить данное свойство в редакторе свойств Edit2. Хотя, если Вам удобнее объявлять некоторые вещи непосредственно в программе, то зачем переменная d? Она ведь не глобальная, и больше нигде не используется.
так вполне достаточно:

procedure TForm2.FormCreate(Sender: TObject);
begin
 Edit2.MaxLength:=15;
end;


Разбираем далее...

Form1.Edit1.Text:=Edit2.Text;
If Edit1.Text="" then begin
 ShowMEssage(Input Name) ;   //Input Name
 Edit2.Text:="";
end


По-русски говоря, мы присваиваем Editу1 на первой форме значение Edit2 на второй форме, при этом, если Edit1 второй формы пуст, то обнуляем Edit2 второй формы. ну... возможно, так и надо, но на всякий случай, проверьте корректность связей между формами один и два.

else If Form1.Label10.Caption=Edit2.Text then a:= GetSystemDirectory(ch, MAX_PATH);
AssignFile(f1,ch+".r");
rewrite(f1);
writeln(f1,Edit2.Text);
CloseFile(f1);
Form1.Caption:=GOOD;
Edit1.Text:="";
Edit2.Text:="";
end


У меня мой мозговой интерпретатор словил end и прекратил выполнение программы. Исправляйте, и пока Ваш код не будет удобочитаемым (я ведь просил отформатировать), я его смотреть не буду, да и Вы сами будете искать ошибку еще неделю.


 
KLAUS ©   (2004-05-09 22:37) [7]

KilkennyCat ©  
Спасибо вам за разъяснения, после того как отформатировал ошибка нашлась сама собой.
СПАСИБО ЗА СОВЕТ!


 
KilkennyCat ©   (2004-05-09 22:57) [8]

:)



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

Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
3-1083245382
Korefey
2004-04-29 17:29
2004.05.23
SQL


1-1084176269
BillyJeans
2004-05-10 12:04
2004.05.23
как определить какая из клавиш мышки нажата над TMenuItem?


14-1083157523
FlankerX
2004-04-28 17:05
2004.05.23
Microsoft vs Borland


14-1083693907
Шишкин Илья
2004-05-04 22:05
2004.05.23
Проверьте ссылку


14-1083328424
Ega23
2004-04-30 16:33
2004.05.23
Господа, коллеги, товарищи, друзья!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский