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

Вниз

Проблема с 98 виндой. Помогите! Плиз!   Найти похожие ветки 

 
TIF ©   (2006-10-27 18:25) [0]

Добрый вечер!

Моя программа нормально работает с XP, 2000, но если её запустить в 98, в одном месте происходит НЕВЫПОЛНЕНИЕ части програмного кода: например, Button1 должна стать видимой, а она не становится и т. п. Возможности сменить ОС на том компе нет, патчи для 98 уже не выпускают. Кто знает, в чём тут дело? Я конечно понимаю, что 98 - очень устаревшая система, но программа должна там функционировать.


 
ProgRAMmer Dimonych ©   (2006-10-27 18:47) [1]

Что приблизительно делает программа? Какие-то специфические действия в ней присутствуют?


 
TIF ©   (2006-10-27 18:48) [2]

минутку, у меня телефон пиликает


 
Ketmar ©   (2006-10-27 18:51) [3]

>[1] ProgRAMmer Dimonych(c) 27-Oct-2006, 18:47
>Что приблизительно делает программа?
глючит.

>Какие-то специфические действия в ней присутствуют?
ага. глюки.


 
ProgRAMmer Dimonych ©   (2006-10-27 18:52) [4]

> [3]
Оценил.


 
Ketmar ©   (2006-10-27 18:53) [5]

>[4] ProgRAMmer Dimonych(c) 27-Oct-2006, 18:52
>> [3]
>Оценил.
полазь по форуму, полюбопытствуй. посмотри на посты автора.


 
ProgRAMmer Dimonych ©   (2006-10-27 18:56) [6]

Я видел, в разделе Прочее. Только там, насколько я помню, ему не сильно помогли.


 
TIF ©   (2006-10-27 18:57) [7]

в том месте, где она проверяет год издания книги (диапазон: от 1900 до текущего года) в 98 винде ошибка "Введено число, не попадпющее в диапазон от 1900 до текущегго года включительно" выдаётся при введении ЛЮБОГО числа (таже верного). в других системах такого нет.


 
ProgRAMmer Dimonych ©   (2006-10-27 18:59) [8]

Стоп! Что за год издания книги? Что-то с базами данных связано?


 
TIF ©   (2006-10-27 19:00) [9]

нет, просто программа заносит в листобокс строчки, которые потом сохраняются (или не сохраняются). такая самодельная база данных


 
TIF ©   (2006-10-27 19:02) [10]

у меня инет кончается, так что я наверное буду сматывать удочки. завтра снова появлюсь, не теряйте


 
ProgRAMmer Dimonych ©   (2006-10-27 19:03) [11]

Программа очень секретная? Ц меня вообще-то 98, могу попробовать поискать причину.


 
TIF ©   (2006-10-27 19:11) [12]

кидаю пас файл и выхожу из инета.

процедура MDLG1 выдаёт сообщение

----

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, ExtCtrls, ProcFPRA, Buttons;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   Labb1: TLabel;
   Labb2: TLabel;
   Labb3: TLabel;
   Labb4: TLabel;
   Labb5: TLabel;
   Labb6: TLabel;
   Labb7: TLabel;
   Labb11: TLabel;
   Labb9: TLabel;
   Labb10: TLabel;
   Labb12: TLabel;
   Labb14: TLabel;
   Labb8: TLabel;
   Edit_InvN: TEdit;
   Edit_Nazvanie: TEdit;
   Edit_Izdat: TEdit;
   Edit_GodIzd: TEdit;
   Edit_KolStr: TEdit;
   Edit_Kol_Vsego: TEdit;
   Edit_Kol_Moment: TEdit;
   Edit_Cena1: TEdit;
   Edit_Prim: TEdit;
   DateTimePicker1: TDateTimePicker;
   ComboBox_Avtor: TComboBox;
   Edit_Cena2: TEdit;
   Labb13: TLabel;
   Lab15: TLabel;
   Lab16: TLabel;
   Lab1: TLabel;
   Lab4: TLabel;
   Lab2: TLabel;
   Lab10: TLabel;
   Lab9: TLabel;
   Lab8: TLabel;
   Lab7: TLabel;
   Label25: TLabel;
   Lab3: TLabel;
   Lab5: TLabel;
   Lab6: TLabel;
   Shape1: TShape;
   La1: TLabel;
   Shape2: TShape;
   Lab11: TLabel;
   Shape3: TShape;
   La2: TLabel;
   La3: TLabel;
   La4: TLabel;
   La5: TLabel;
   La6: TLabel;
   La7: TLabel;
   Lab12: TLabel;
   Lab13: TLabel;
   Shape4: TShape;
   Shape5: TShape;
   Shape6: TShape;
   Lab14: TLabel;
   Lab18: TLabel;
   Lab20: TLabel;
   Shape7: TShape;
   Shape8: TShape;
   Lab23: TLabel;
   Lab24: TLabel;
   ComboBox_Otdel: TComboBox;
   Lab22: TLabel;
   Lab25: TLabel;
   Lab26: TLabel;
   Shape9: TShape;
   Lab27: TLabel;
   Shape10: TShape;
   SpeedButton1: TSpeedButton;
   Lab28: TLabel;
   Lab21: TLabel;
   Lab19: TLabel;
   Lab17: TLabel;
   SaveDialog1: TSaveDialog;
   OpenDialog1: TOpenDialog;
   SpeedButton2: TSpeedButton;
   ColorDialog1: TColorDialog;
   procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
   procedure Edit_InvNKeyPress(Sender: TObject; var Key: Char);
   procedure ComboBox_AvtorKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_NazvanieKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_IzdatKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_GodIzdKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_KolStrKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_Kol_VsegoKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_Kol_MomentKeyPress(Sender: TObject; var Key: Char);
   procedure ComboBox_OtdelKeyPress(Sender: TObject; var Key: Char);
   procedure Edit_Cena1KeyPress(Sender: TObject; var Key: Char);
   procedure Edit_Cena2KeyPress(Sender: TObject; var Key: Char);
   procedure Edit_PrimKeyPress(Sender: TObject; var Key: Char);
   procedure SpeedButton1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure SpeedButton2Click(Sender: TObject);

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

var
 Form1: TForm1;
 test: integer;
 new: boolean=false;
 s: string;
 
implementation

{$R *.dfm}

procedure TForm1.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Labb1.Font.Color:=clGray;
La1.Font.Color:=clGray;
Lab1.Font.Color:=clGray;
Lab2.Font.Color:=clGray;
Lab3.Font.Color:=clGray;
Lab4.Font.Color:=clGray;
Lab5.Font.Color:=clGray;
Lab6.Font.Color:=clGray;
Edit_InvN.Enabled:=true;
Edit_InvN.SetFocus;
DateTimePicker1.Enabled:=false;

Labb2.Font.Color:=clBlack;
La2.Font.Color:=clRed;
Lab7.Font.Color:=clBlack;
end;

end;

procedure TForm1.Edit_InvNKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
  try
  test:=StrToInt(Edit_InvN.Text);

  except
  on EConvertError do // ошибка преобразования строки в число
  begin
   MDLG1("Неверный формат инвентарного номера!"+#13#10+"Инвентарный номер - целое положительное число"+#13#10#13#10+"Повторите ввод инвентарного номера", "e");
   Edit_InvN.Text:="";
   test:=0;
   exit;
  end;
  end;
  if test<=0 then
  begin
  MDLG1("Неверный формат инвентарного номера!"+#13#10+"Инвентарный номер - число, большее нуля!"+#13#10#13#10+"Повторите ввод инвентарного номера", "e");
  Edit_InvN.Text:="";
  end;
  if test >0 then
  begin
     Labb2.Font.Color:=clGray;
     La2.Font.Color:=clGray;
     Lab7.Font.Color:=clGray;
     ComboBox_Avtor.Enabled:=true;
     ComboBox_Avtor.SetFocus;
     Edit_InvN.Enabled:=false;

     Labb3.Font.Color:=clBlack;
     La3.Font.Color:=clRed;
     Lab8.Font.Color:=clBlack;
     Lab9.Font.Color:=clBlack;
     Lab10.Font.Color:=clBlack;
     Lab11.Font.Color:=clBlack;
  end;

 end;

end;

procedure TForm1.ComboBox_AvtorKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) and (ComboBox_Avtor.Text<>"") then
 begin
     Labb3.Font.Color:=clGray;
     La3.Font.Color:=clGray;
     Lab8.Font.Color:=clGray;
     Lab9.Font.Color:=clGray;
     Lab10.Font.Color:=clGray;
     Lab11.Font.Color:=clGray;
     Edit_Nazvanie.Enabled:=true;
     Edit_Nazvanie.SetFocus;
     ComboBox_Avtor.Enabled:=false;

     Labb4.Font.Color:=clBlack;
     La4.Font.Color:=clRed;
     Lab12.Font.Color:=clBlack;
     Lab13.Font.Color:=clBlack;
 end;

end;

procedure TForm1.Edit_NazvanieKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) and (Edit_Nazvanie.Text<>"") then
 begin
     Labb4.Font.Color:=clGray;
     La4.Font.Color:=clGray;
     Lab12.Font.Color:=clGray;
     Lab13.Font.Color:=clGray;
     Edit_Izdat.Enabled:=true;
     Edit_Izdat.SetFocus;
     Edit_Nazvanie.Enabled:=false;

     Labb5.Font.Color:=clBlack;
     Lab14.Font.Color:=clBlack;
     Lab15.Font.Color:=clBlack;
     Lab16.Font.Color:=clBlack;
     Lab17.Font.Color:=clPurple;
 end;
end;

procedure TForm1.Edit_IzdatKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) then
 begin
     Labb5.Font.Color:=clGray;
     Lab14.Font.Color:=clGray;
     Lab15.Font.Color:=clGray;
     Lab16.Font.Color:=clGray;
     Lab17.Font.Color:=clGray;
     Edit_GodIzd.Enabled:=true;
     Edit_GodIzd.SetFocus;
     Edit_Izdat.Enabled:=false;

     Labb6.Font.Color:=clBlack;
     La5.Font.Color:=clRed;
 end;
end;


 
TIF ©   (2006-10-27 19:13) [13]

**************************

вот где глюки

procedure TForm1.Edit_GodIzdKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
  try
  test:=StrToInt(Edit_GodIzd.Text);

  except
  on EConvertError do // ошибка преобразования строки в число
  begin
   MDLG1("Неверный года издания!"+#13#10+"Год издания - целое положительное число"+#13#10#13#10+"Повторите ввод инвентарного номера", "e");
   Edit_GodIzd.Text:="";
   test:=0;
   exit;
  end;
  end;
  if test<=0 then
  begin
  MDLG1("Неверный формат года издания!"+#13#10+"Год издания - число, большее нуля!"+#13#10#13#10+"Повторите ввод инвентарного номера", "e");
  Edit_GodIzd.Text:="";
  end;
  if test >0 then
  begin
     if (test>=1900) and (test<=StrToInt(copy(DateToStr(Date), 7, 4))) then begin
     Labb6.Font.Color:=clGray;
     La5.Font.Color:=clGray;
     Edit_KolStr.Enabled:=true;
     Edit_KolStr.SetFocus;
     Edit_GodIzd.Enabled:=false;

     Labb7.Font.Color:=clBlack;
     Lab18.Font.Color:=clBlack;
     Lab19.Font.Color:=clPurple;
     end
     else
     begin
     MDLG1("Год издания должен находиться в промежутке"+#13#10+"от 1900 до 2006 включительно!", "e");
     Edit_GodIzd.Text:="";
     end;

  end;

 end;

end;

глюки кончились

******************

procedure TForm1.Edit_KolStrKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) then
 begin
 if Edit_KolStr.Text="" then
 begin
     Labb7.Font.Color:=clGray;
     Lab18.Font.Color:=clGray;
     Lab19.Font.Color:=clGray;
     Edit_Kol_Vsego.Enabled:=true;
     Edit_Kol_Vsego.SetFocus;
     Edit_KolStr.Enabled:=false;

     Labb8.Font.Color:=clBlack;
     Labb9.Font.Color:=clBlack;
     Lab20.Font.Color:=clBlack;
     Lab21.Font.Color:=clBlack;
 end
 else
 begin
   try
   test:=StrToInt(Edit_KolStr.Text);
   except
   on EConvertError do // ошибка преобразования строки в число
   begin
    MDLG1("Неверный формат количества страниц!"+#13#10+"Количество страниц - целое положительное чётное число"+#13#10#13#10+"Повторите ввод количества страниц", "e");
    Edit_KolStr.Text:="";
    test:=0;
    exit;
   end;
   end;
  if test<=0 then
  begin
  MDLG1("Неверный формат количества страниц!"+#13#10+"Количество страниц - чётное число, большее нуля!"+#13#10#13#10+"Повторите ввод количества страниц", "e");
  Edit_KolStr.Text:="";
   end
   else
   begin
   if StrToInt(Edit_KolStr.Text) mod 2 = 0 then
   begin
         Labb7.Font.Color:=clGray;
     Lab18.Font.Color:=clGray;
     Lab19.Font.Color:=clGray;
     Edit_Kol_Vsego.Enabled:=true;
     Edit_Kol_Vsego.SetFocus;
     Edit_KolStr.Enabled:=false;

     Labb8.Font.Color:=clBlack;
     Labb9.Font.Color:=clBlack;
     Lab20.Font.Color:=clBlack;
     Lab21.Font.Color:=clBlack;
   end
   else
   begin
   MDLG1("Неверный формат количества страниц!"+#13#10+"Количество страниц - чётное число!"+#13#10#13#10+"Повторите ввод количества страниц", "e");
   Edit_KolStr.Text:="";
   end;
   end;
 end;
 end;
end;

procedure TForm1.Edit_Kol_VsegoKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) then
 begin
     if Edit_Kol_Vsego.Text="" then
     begin
     Labb9.Font.Color:=clGray;
     Edit_Kol_Moment.Enabled:=true;
     Edit_Kol_Moment.SetFocus;
     Edit_Kol_Vsego.Enabled:=false;

     Labb10.Font.Color:=clBlack;
     end
     else
     begin
     try
     test:=StrToInt(Edit_Kol_Vsego.Text);
     except
     on EConvertError do // ошибка преобразования строки в число
  begin
   MDLG1("Неверный формат количества книг!"+#13#10#13#10+"Повторите ввод количества книг", "e");
   Edit_Kol_Vsego.Text:="";
   test:=0;
   exit;
  end;
  end;
  if test<0 then
  begin
  MDLG1("Неверный формат количества книг!"+#13#10+"Количество книг - число, большее нуля!"+#13#10#13#10+"Повторите ввод количества книг", "e");
  Edit_Kol_Vsego.Text:="";
     end
     else
     begin
           Labb9.Font.Color:=clGray;
     Edit_Kol_Moment.Enabled:=true;
     Edit_Kol_Moment.SetFocus;
     Edit_Kol_Vsego.Enabled:=false;

     Labb10.Font.Color:=clBlack;
     end;
     end;
 end;
end;

procedure TForm1.Edit_Kol_MomentKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) then
 begin
 if Edit_Kol_Moment.Text="" then
     begin
     Labb8.Font.Color:=clGray;
     Labb10.Font.Color:=clGray;
     Lab20.Font.Color:=clGray;
     Lab21.Font.Color:=clGray;
     ComboBox_Otdel.Enabled:=true;
     ComboBox_Otdel.SetFocus;
     Edit_Kol_Moment.Enabled:=false;

     Labb11.Font.Color:=clBlack;
     La6.Font.Color:=clRed;
     Lab22.Font.Color:=clBlack;
     Lab23.Font.Color:=clBlack;
     Lab24.Font.Color:=clBlack;
     end
     else
     begin
     try
     test:=StrToInt(Edit_Kol_Moment.Text);
     except
     on EConvertError do // ошибка преобразования строки в число
  begin
   MDLG1("Неверный формат количества книг!"+#13#10#13#10+"Повторите ввод количества книг", "e");
   Edit_Kol_Moment.Text:="";
   test:=0;
   exit;
  end;
  end;
  if test<0 then
  begin
  MDLG1("Неверный формат количества книг!"+#13#10+"Количество книг - число, большее нуля!"+#13#10#13#10+"Повторите ввод количества книг", "e");
  Edit_Kol_Moment.Text:="";
     end
     else
     begin
     Labb8.Font.Color:=clGray;
     Labb10.Font.Color:=clGray;
     Lab20.Font.Color:=clGray;
     Lab21.Font.Color:=clGray;
     ComboBox_Otdel.Enabled:=true;
     ComboBox_Otdel.SetFocus;
     Edit_Kol_Moment.Enabled:=false;

     Labb11.Font.Color:=clBlack;
     La6.Font.Color:=clRed;
     Lab22.Font.Color:=clBlack;
     Lab23.Font.Color:=clBlack;
     Lab24.Font.Color:=clBlack;
     end;
     end;
 end;
end;

procedure TForm1.ComboBox_OtdelKeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) and (ComboBox_Otdel.Text<>"") then
 begin
     Labb11.Font.Color:=clGray;
     La6.Font.Color:=clGray;
     Lab22.Font.Color:=clGray;
     Lab23.Font.Color:=clGray;
     Lab24.Font.Color:=clGray;
     Edit_Cena1.Enabled:=true;
     Edit_Cena1.SetFocus;
     ComboBox_Otdel.Enabled:=false;

     Labb12.Font.Color:=clBlack;
     Labb13.Font.Color:=clBlack;
     Lab25.Font.Color:=clBlack;
     Lab26.Font.Color:=clBlack;
     La7.Font.Color:=clRed;
 end;
end;


 
TIF ©   (2006-10-27 19:15) [14]

procedure TForm1.Edit_Cena1KeyPress(Sender: TObject; var Key: Char);
begin
 if (key=#13) then
 begin
 if Edit_Cena1.Text="" then
 begin
 Edit_Cena1.Text:="0";
 Edit_Cena1.Enabled:=false;
 Edit_Cena2.Enabled:=true;
 Edit_Cena2.SetFocus;
 end
 else
 begin

     try
     test:=StrToInt(Edit_Cena1.Text);
     except
  on EConvertError do // ошибка преобразования строки в число
  begin
   MDLG1("Неверный формат цены в рублях!"+#13#10#13#10+"Повторите ввод цены", "e");
   Edit_Cena1.Text:="";
   test:=0;
   exit;
  end;
  end;
  if test<0 then
  begin
  MDLG1("Неверный формат цены в рублях!"+#13#10#13#10+"Повторите ввод цены", "e");
  Edit_Cena1.Text:="";
  end
  else
  begin
 Edit_Cena1.Enabled:=false;
 Edit_Cena2.Enabled:=true;
 Edit_Cena2.SetFocus;
 end;
  end;
end;
end;

procedure TForm1.Edit_Cena2KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) then
 begin
    if (Edit_Cena2.Text="") or (Edit_Cena2.Text="0") or (Edit_Cena2.Text="00")then
    begin
      if Edit_Cena1.Text<>"0" then
      begin
       Edit_Cena2.Text:="00";
       La7.Font.Color:=clGray;
       Labb12.Font.Color:=clGray;
       Labb13.Font.Color:=clGray;
       Lab25.Font.Color:=clGray;
       Lab26.Font.Color:=clGray;
       Edit_Cena2.Enabled:=false;
       Edit_Prim.Enabled:=true;
       Edit_Prim.SetFocus;

       Labb14.Font.Color:=clBlack;
       Lab27.Font.Color:=clBlack;
       Lab28.Font.Color:=clYellow;
       SpeedButton1.Enabled:=true;
        end;
       end
       else
        begin
       try
       test:=StrToInt(Edit_Cena2.text);
       except
          on EConvertError do // ошибка преобразования строки в число
         begin
         MDLG1("Неверный формат цены в копейках!"+#13#10#13#10+"Повторите ввод цены", "e");
         Edit_Cena2.Text:="";
         test:=0;
         exit;
        end;
       end;
       if length(Edit_Cena2.Text)=2 then
       begin
       La7.Font.Color:=clGray;
       Labb12.Font.Color:=clGray;
       Labb13.Font.Color:=clGray;
       Lab25.Font.Color:=clGray;
       Lab26.Font.Color:=clGray;
       Edit_Cena2.Enabled:=false;
       Edit_Prim.Enabled:=true;
       Edit_Prim.SetFocus;

       Labb14.Font.Color:=clBlack;
       Lab27.Font.Color:=clBlack;
       Lab28.Font.Color:=clYellow;
       SpeedButton1.Enabled:=true;
       end
       else
       begin
       if length(Edit_Cena2.Text)=1
       then
       begin
       Edit_Cena2.Text:="0"+Edit_Cena2.Text;
       La7.Font.Color:=clGray;
       Labb12.Font.Color:=clGray;
       Labb13.Font.Color:=clGray;
       Lab25.Font.Color:=clGray;
       Lab26.Font.Color:=clGray;
       Edit_Cena2.Enabled:=false;
       Edit_Prim.Enabled:=true;
       Edit_Prim.SetFocus;

       Labb14.Font.Color:=clBlack;
       Lab27.Font.Color:=clBlack;
       Lab28.Font.Color:=clYellow;
       SpeedButton1.Enabled:=true;
       end
       else
       begin
       MDLG1("Неверный формат цены в копейках (более 2 цифр)!"+#13#10#13#10+"Повторите ввод цены", "e");
       Edit_Cena2.Text:="";
       end;
       end;
        end;

 end;

end;


 
ProgRAMmer Dimonych ©   (2006-10-27 19:16) [15]

Во накатал. ОК, попробуем чего-нибудь придумать.


 
Ketmar ©   (2006-10-27 19:17) [16]

>[6] ProgRAMmer Dimonych(c) 27-Oct-2006, 18:56
>там, насколько я помню, ему не сильно помогли.
а что, есть кому? вид "дятел", подвид "упорный". птица, конечно, говорун, но вот с умом и сообразительностью у неё немножко нелады.

зыж ещё и нагадил мне в базу...


 
TIF ©   (2006-10-27 19:18) [17]

procedure TForm1.Edit_PrimKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) then
 begin
 SpeedButton1.OnClick(nil);
 end;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var i: integer;
   b: boolean;
begin
if MDLG1(#9+"Вы действительно хотите занести эту книгу?"+#13#10#13#10#9+
                "Дата записи:"+#9#9+DateToStr(DateTimePicker1.Date)
        +#13#10#9+"Инвентарный №:"+#9+Edit_InvN.Text
        +#13#10#9+"Автор:"+#9#9#9+ComboBox_Avtor.Text
        +#13#10#9+"Название:"+#9#9+Edit_Nazvanie.Text
        +#13#10#9+"Издательство:"+#9#9+"""+Edit_Izdat.Text+"""
        +#13#10#9+"Год издания:"+#9#9+Edit_GodIzd.Text
        +#13#10#9+"Кол-во страниц:"+#9+Edit_KolStr.Text
        +#13#10#9+"Количество"
        +#13#10#9+"   Всего:"+#9#9+Edit_Kol_Vsego.Text
        +#13#10#9+"   На данный момент:"+#9+Edit_Kol_Moment.Text
        +#13#10#9+"Отдел:"+#9#9#9+ComboBox_Otdel.Text
        +#13#10#9+"Цена:"+#9#9#9+Edit_Cena1.Text+"."+Edit_Cena2.Text
        +#13#10#9+"Примечание:"+#9#9+Edit_Prim.Text
        +#13#10#13#10+"Если Вы хотите исправить ошибку, нажмите кнопку "Нет"."
        +#13#10+"В этом случае все поля станут активными."+#13#10+"После исправления ошибки нажмите кнопку "Занести"", "Q")
        then
        begin
        if listbox1.items.count=0 then
        begin
        ListBox1.Items.Add("=== Файл .lab - Электронный список книг ===");
        ListBox1.Items.Add("0");
        end;
        ListBox1.Items[1]:=IntToStr(StrToInt(ListBox1.Items[1])+1);
        ListBox1.Items.Add(DateToStr(DateTimePicker1.Date));
        ListBox1.Items.Add(Edit_InvN.Text);
        ListBox1.Items.Add(ComboBox_Avtor.Text);
        ListBox1.Items.Add(Edit_Nazvanie.Text);
        ListBox1.Items.Add("""+Edit_Izdat.Text+""");
        ListBox1.Items.Add(Edit_GodIzd.Text);
        ListBox1.Items.Add(Edit_KolStr.Text);
        ListBox1.Items.Add(Edit_Kol_Vsego.Text);
        ListBox1.Items.Add(Edit_Kol_Moment.Text);
        ListBox1.Items.Add(ComboBox_Otdel.Text);
        ListBox1.Items.Add(Edit_Cena1.Text+"."+Edit_Cena2.Text);
        ListBox1.Items.Add(Edit_Prim.Text);

        Edit_Prim.Enabled:=false;
        Labb13.Font.Color:=clGray;
        Lab27.Font.Color:=clGray;
        Labb1.Font.Color:=clBlack;
        La1.Font.Color:=clRed;
        Lab1.Font.Color:=clBlack;
        Lab2.Font.Color:=clBlack;
        Lab3.Font.Color:=clBlack;
        Lab4.Font.Color:=clBlack;
        Lab5.Font.Color:=clBlack;
        Lab6.Font.Color:=clBlack;
        Edit_InvN.Text:="";
        b:=false;
        for i:=0 to ComboBox_Avtor.Items.Count do
        begin
        if ComboBox_Avtor.Items[i]=ComboBox_Avtor.Text then b:=true;
        end;
        if not b then ComboBox_Avtor.Items.Add(ComboBox_Avtor.Text);
        ComboBox_Avtor.Items.SaveToFile("Список авторов.laa");
        ComboBox_Avtor.Text:="";
        Edit_Nazvanie.Text:="";
        Edit_Izdat.Text:="";
        Edit_GodIzd.Text:="";
        Edit_KolStr.Text:="";
        Edit_Kol_Vsego.Text:="";
        Edit_Kol_Moment.Text:="";
        b:=false;
        for i:=0 to ComboBox_Otdel.Items.Count do
        begin
        if ComboBox_Otdel.Items[i]=ComboBox_Otdel.Text then b:=true;
        end;
        if not b then ComboBox_Otdel.Items.Add(ComboBox_Otdel.Text);
        ComboBox_Otdel.Items.SaveToFile("Список отделов.lao");
        ComboBox_Otdel.Text:="";
        Edit_Cena1.Text:="";
        Edit_Cena2.Text:="";
        Edit_Prim.Text:="";

        DateTimePicker1.Enabled:=true;
        DateTimePicker1.SetFocus;
        SpeedButton1.Enabled:=false;

        La2.Font.Color:=clGray;
        La3.Font.Color:=clGray;
        La4.Font.Color:=clGray;
        La5.Font.Color:=clGray;
        La6.Font.Color:=clGray;
        La7.Font.Color:=clGray;

        Labb2.Font.Color:=clGray;
        Labb3.Font.Color:=clGray;
        Labb4.Font.Color:=clGray;
        Labb5.Font.Color:=clGray;
        Labb6.Font.Color:=clGray;
        Labb7.Font.Color:=clGray;
        Labb8.Font.Color:=clGray;
        Labb9.Font.Color:=clGray;
        Labb10.Font.Color:=clGray;
        Labb11.Font.Color:=clGray;
        Labb12.Font.Color:=clGray;
        Labb13.Font.Color:=clGray;


 
TIF ©   (2006-10-27 19:20) [18]

Lab7.Font.Color:=clGray;
        Lab8.Font.Color:=clGray;
        Lab9.Font.Color:=clGray;
        Lab10.Font.Color:=clGray;
        Lab11.Font.Color:=clGray;
        Lab12.Font.Color:=clGray;
        Lab13.Font.Color:=clGray;
        Lab14.Font.Color:=clGray;
        Lab15.Font.Color:=clGray;
        Lab16.Font.Color:=clGray;
        Lab17.Font.Color:=clGray;
        Lab18.Font.Color:=clGray;
        Lab19.Font.Color:=clGray;
        Lab20.Font.Color:=clGray;
        Lab21.Font.Color:=clGray;
        Lab22.Font.Color:=clGray;
        Lab23.Font.Color:=clGray;
        Lab24.Font.Color:=clGray;
        Lab25.Font.Color:=clGray;
        Lab26.Font.Color:=clGray;
        Lab27.Font.Color:=clGray;
        Lab28.Font.Color:=clGray;
        end
        else
        begin
        La1.Font.Color:=clRed;
        La2.Font.Color:=clRed;
        La3.Font.Color:=clRed;
        La4.Font.Color:=clRed;
        La5.Font.Color:=clRed;
        La6.Font.Color:=clRed;
        La7.Font.Color:=clRed;
        Labb1.Font.Color:=clBlack;
        Labb2.Font.Color:=clBlack;
        Labb3.Font.Color:=clBlack;
        Labb4.Font.Color:=clBlack;
        Labb5.Font.Color:=clBlack;
        Labb6.Font.Color:=clBlack;
        Labb7.Font.Color:=clBlack;
        Labb8.Font.Color:=clBlack;
        Labb9.Font.Color:=clBlack;
        Labb10.Font.Color:=clBlack;
        Labb11.Font.Color:=clBlack;
        Labb12.Font.Color:=clBlack;
        Labb13.Font.Color:=clBlack;
        Lab1.Font.Color:=clBlack;
        Lab2.Font.Color:=clBlack;
        Lab3.Font.Color:=clBlack;
        Lab4.Font.Color:=clBlack;
        Lab5.Font.Color:=clBlack;
        Lab6.Font.Color:=clBlack;
        Lab7.Font.Color:=clBlack;
        Lab8.Font.Color:=clBlack;
        Lab9.Font.Color:=clBlack;
        Lab10.Font.Color:=clBlack;
        Lab11.Font.Color:=clBlack;
        Lab12.Font.Color:=clBlack;
        Lab13.Font.Color:=clBlack;
        Lab14.Font.Color:=clBlack;
        Lab15.Font.Color:=clBlack;
        Lab16.Font.Color:=clBlack;
        Lab17.Font.Color:=clPurple;
        Lab18.Font.Color:=clBlack;
        Lab19.Font.Color:=clPurple;
        Lab20.Font.Color:=clBlack;
        Lab21.Font.Color:=clPurple;
        Lab22.Font.Color:=clBlack;
        Lab23.Font.Color:=clBlack;
        Lab24.Font.Color:=clBlack;
        Lab25.Font.Color:=clBlack;
        Lab26.Font.Color:=clBlack;
        Lab27.Font.Color:=clBlack;
        Lab28.Font.Color:=clYellow;
        DateTimePicker1.Enabled:=true;
        Edit_InvN.Enabled:=true;
        ComboBox_Avtor.Enabled:=true;
        Edit_Nazvanie.Enabled:=true;
        Edit_Izdat.Enabled:=true;
        Edit_GodIzd.Enabled:=true;
        Edit_KolStr.Enabled:=true;
        Edit_Kol_Vsego.Enabled:=true;
        Edit_Kol_Moment.Enabled:=true;
        ComboBox_Otdel.Enabled:=true;
        Edit_Cena1.Enabled:=true;
        Edit_Cena2.Enabled:=true;
        Edit_Prim.Enabled:=true;
        end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var   SearchRec: TSearchRec;
begin
if FindFirst("Список авторов.laa", faDirectory, SearchRec) = 0 then ComboBox_Avtor.Items.LoadFromFile("Список авторов.laa");
if FindFirst("Список отделов.lao", faDirectory, SearchRec) = 0 then ComboBox_Otdel.Items.LoadFromFile("Список отделов.lao");
if MDLG1("Вы хотите добавлять данные в уже существующий файл?"+#13#10+"Если Вы хотите создать новый список книг, нажмите кнопку "Нет"", "Q")
then begin
if opendialog1.Execute then begin listbox1.Items.LoadFromFile(opendialog1.FileName); new:=true; s:=opendialog1.FileName; form1.Visible:=true; form1.WindowState:=wsNormal; form1.SetFocus; end  else new:=false;
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if listbox1.Items.Count<>0 then
begin
if not new then begin
MDLG1("Необходимо сохранить данные перед выходом!", "i");
if (savedialog1.execute) then
begin
if copy(savedialog1.FileName, length(savedialog1.FileName)-3, 4)=".lab" then
listbox1.Items.SaveToFile(savedialog1.FileName)
else
listbox1.Items.SaveToFile(savedialog1.FileName+".lab")
end
else action:=caNone;
end
else //не new
listbox1.Items.SaveToFile(s)
end;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if ColorDialog1.Execute then form1.Color:=ColorDialog1.Color;
end;

end.

извиняюсь за корявый код - делал наспех

заранее спасибо


 
ProgRAMmer Dimonych ©   (2006-10-27 19:20) [19]

Ух, ё-моё, я надеялся, что это уже всё. С этими Labb"ами надо чего-то делать. В массив их, что ли?


 
TIF ©   (2006-10-27 19:21) [20]

может по электроннной почте послать? а?


 
TIF ©   (2006-10-27 19:23) [21]

**************************

вот где глюки

procedure TForm1.Edit_GodIzdKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
 try
 test:=StrToInt(Edit_GodIzd.Text);

 except
 on EConvertError do // ошибка преобразования строки в число
 begin
  MDLG1("Неверный года издания!"+#13#10+"Год издания - целое положительное число"+#13#10#13#10+"Повторите ввод инвентарного номера", "e");
  Edit_GodIzd.Text:="";
  test:=0;
  exit;
 end;
 end;
 if test<=0 then
 begin
 MDLG1("Неверный формат года издания!"+#13#10+"Год издания - число, большее нуля!"+#13#10#13#10+"Повторите ввод инвентарного номера", "e");
 Edit_GodIzd.Text:="";
 end;
 if test >0 then
 begin
    if (test>=1900) and (test<=StrToInt(copy(DateToStr(Date), 7, 4))) then begin
    Labb6.Font.Color:=clGray;
    La5.Font.Color:=clGray;
    Edit_KolStr.Enabled:=true;
    Edit_KolStr.SetFocus;
    Edit_GodIzd.Enabled:=false;

    Labb7.Font.Color:=clBlack;
    Lab18.Font.Color:=clBlack;
    Lab19.Font.Color:=clPurple;
    end
    else
    begin
    MDLG1("Год издания должен находиться в промежутке"+#13#10+"от 1900 до 2006 включительно!", "e");
    Edit_GodIzd.Text:="";
    end;

 end;

end;

end;

глюки кончились

******************


 
ProgRAMmer Dimonych ©   (2006-10-27 19:24) [22]

Толстой бы позавидовал.


 
TIF ©   (2006-10-27 19:26) [23]

инет кончился.

завтра отошлю по электронной почте (если надо).

Sorry всем, кому надоел

TIF


 
TIF ©   (2006-10-27 19:28) [24]

Есть только одно отличие от Толстого: у того Война и Мир, а у меня Программист и Глюки

всё вылетаю


 
Ketmar ©   (2006-10-27 19:30) [25]

опять нагадил. что он съел-то такого? пургена, что ли? %-(


 
ProgRAMmer Dimonych ©   (2006-10-27 19:42) [26]

> Ketmar
Чего так жестоко-то? Человек, может, разобраться хочет.


 
Ketmar ©   (2006-10-27 19:44) [27]

>[26] ProgRAMmer Dimonych(c) 27-Oct-2006, 19:42
>Чего так жестоко-то? Человек, может, разобраться хочет.
если бы...


 
ProgRAMmer Dimonych ©   (2006-10-27 19:47) [28]

Забавно. Та же мысль уже где-то мелькала под тем же именем :)


 
Ketmar ©   (2006-10-27 19:49) [29]

>[28] ProgRAMmer Dimonych(c) 27-Oct-2006, 19:47
>Забавно. Та же мысль уже где-то мелькала под тем же именем
>:)
???


 
ProgRAMmer Dimonych ©   (2006-10-27 19:49) [30]

P.S. Только, наверное, другими словами...


 
RASkov   (2006-10-28 01:22) [31]

> [16] Ketmar ©   (27.10.06 19:17)

Ну ты ж хочешь побыстрее "забить" ее
:)) Чел старается, помогает тебе.
Вот и завтра помоги ему с ответом:)
> [25] Ketmar ©   (27.10.06 19:30) не нагадил, а доза долгожданных байт:))

> [17] TIF

Ну ты б еще и дфм до кучи выложил бы. Кетмару поможешь... он тебе....

По теме мож так че-нить

if key=#13 then test:=StrToIntDef(Edit_GodIzd.Text, -1);
ну и проверяй его на -1 и на test<=1900


> MDLG1("Неверный года издания!"+#13#10+"Год издания - целое
> положительное число"+#13#10#13#10+"Повторите ввод инвентарного
> номера", "e");

О чем это?

> MDLG1("Год издания должен находиться в промежутке"+#13#10+"от
> 1900 до 2006 включительно!", "e");

С чего ты взял что до 2006? при твоей проверке:
if (test>=1900) and (test<=StrToInt(copy(DateToStr(Date), 7, 4))) then begin

> глюки кончились
>
> ******************

Не... это ты зря:)


 
Ketmar ©   (2006-10-28 03:39) [32]

>[31] RASkov 28-Oct-2006, 01:22
>Ну ты ж хочешь побыстрее "забить" ее
не таким же мусором! %-)


 
TIF ©   (2006-10-28 07:29) [33]

Подводим итоги. Всё дело в - try except end -. Но почему только в 98? А вдругих ОС этот глюк перестаёт быть глюком?

if key=#13 then test:=StrToIntDef(Edit_GodIzd.Text, -1);
ну и проверяй его на -1 и на test<=1900

??? мне надо проверять не на <=1900 а на ОТ 1900 до текущего года

> MDLG1("Год издания должен находиться в промежутке"+#13#10+"от
> 1900 до 2006 включительно!", "e");

С чего ты взял что до 2006? при твоей проверке:
if (test>=1900) and (test<=StrToInt(copy(DateToStr(Date), 7, 4))) then begin

Да, test<=текущий год (а какой сейчас год? 2006!)


 
ЮЮ ©   (2006-10-28 07:43) [34]

StrToInt(copy(DateToStr(Date), 7, 4)))
DateToStr(Date) не обязана всегда выводить в формате "dd.mm.yyyy"
В твоей вин98 другие рег.настройки для краткого формат даты.

Или в порограмме "зашей" его см.ShortDateFormat или вычленяй из Date надлежащими функциями (YearOf, DecodeDate)


 
TIF ©   (2006-10-28 07:44) [35]

>>Читай книжки учись пользоваться отладчиком. Если есть такое невыполение кода,
на 90% где то происходит ошибка которую ты скрываешь try ... except end;

а как эту ошибку убрать в 98 винде? объясните чайнику


 
TIF ©   (2006-10-28 07:48) [36]

Уважаемый ЮЮ - ты гений! Но такие функции в первый раз вижу. Можно какой-нибудь допотопный примерчик хотя бы?


 
Anatoly Podgoretsky ©   (2006-10-28 11:40) [37]

TIF ©   (27.10.06 19:11) [12]
Это что за безобразие, ты еще содержимое всего диска сбрось сюда.


 
Anatoly Podgoretsky ©   (2006-10-28 11:41) [38]


> а как эту ошибку убрать в 98 винде? объясните чайнику

Какую ошибку, если ты ее скрыл от пользователя.



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

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

Наверх




Память: 0.62 MB
Время: 0.054 c
2-1161706340
Max.66RUS
2006-10-24 20:12
2006.11.12
Запись путей ко всем каталогам диска в текстовый файл...


15-1161855795
RebroFF
2006-10-26 13:43
2006.11.12
Есть ли шансы у самоучек стать настоящими профи?


2-1161839521
md
2006-10-26 09:12
2006.11.12
procedure


15-1161436618
Альберт
2006-10-21 17:16
2006.11.12
Adobe Flash...


10-1125677440
NikNet
2005-09-02 20:10
2006.11.12
Doc2Rtf convertor. как перевести групу файлов?





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