Форум: "Начинающим";
Текущий архив: 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.052 c