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

Вниз

Проблема с 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;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.064 c
2-1161782928
vitv
2006-10-25 17:28
2006.11.12
lookup в гриде


2-1162152048
md
2006-10-29 23:00
2006.11.12
ошибочка вышла


2-1162186962
Sergey_b
2006-10-30 08:42
2006.11.12
MDI


2-1162122043
~Aid~
2006-10-29 14:40
2006.11.12
размер


2-1162109729
Серый
2006-10-29 11:15
2006.11.12
Поле Memo