1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133:
| procedure Tfm_newpers.SpeedButton2Click(Sender: TObject); var sl,sl2,sl3: TStringList; a,b: Integer; Item,aindex,iindex: Integer; Overriding, Exists: Boolean; begin sl:= TStringList.Create; sl2:=TStringList.Create; Overriding := False; Exists:= False; Item := -1; aindex:=0; try case TabControl1.TabIndex of 0 : begin if not (Edit1.Text = '') then begin if not (Edit2.Text = '') then begin if FileExists('.\Data\db_einheiten.mmb') then sl.LoadFromFile('.\Data\db_einheiten.mmb'); if sl.Count > 0 then begin for a := 0 to sl.Count - 1 do begin sl2.Commatext := sl.Strings[a]; if sl2.Count = 3 then begin if strtoint(sl2.Strings[0]) > aindex then aindex:=strtoint(sl2.Strings[0]); if (StrLower(PChar(DeCrypt(sl2.Strings[1]))) = StrLower(PChar(Edit1.Text))) AND (StrLower(PChar(DeCrypt(sl2.Strings[2]))) = StrLower(PChar(Edit2.Text))) then begin Exists := True; case ShowMessageDlgEx('Es wurde ein Eintrag in der Datenbank gefunden, der mit den angegebenen übereinstimmt.'+sLineBreak+sLineBreak+'Soll der gefundene Eintrag überschrieben werden?','Doppelter Eintrag entdeckt!',101,mb_yesno) of IDYES : begin Item:=a; Overriding:= True; end; end; end else if (StrLower(PChar(DeCrypt(sl2.Strings[1]))) = StrLower(PChar(Edit1.Text))) then begin Exists := True; case ShowMessageDlgEx('Ein Eintrag mit derselben Bezeichnung wurde gefunden!'+sLineBreak+sLineBreak+'Soll der gefundene Eintrag überschrieben werden?','Doppelter Eintrag entdeckt!',101,mb_yesno) of IDYES : begin Item:= a; Overriding:= True; end; end ; end else if (StrLower(PChar(DeCrypt(sl2.Strings[2]))) = StrLower(PChar(Edit2.Text))) then begin Exists := True; case ShowMessageDlgEx('Ein Eintrag mit derselben HAL-Nummer wurde gefunden!'+sLineBreak+sLineBreak+'Soll der gefundene Eintrag überschrieben werden?','Doppelter Eintrag entdeckt!',101,mb_yesno) of IDYES : begin item:= a; Overriding:= True; end; end; end; end else begin case ShowMessageDlgEx('Bei einer Überprüfung der Datenbank wurde ein fehlerhafter Datensatz entdeckt.'+sLineBreak+sLineBreak+'Soll dieser Datensatz gelöscht werden?','Ungültiger Datensatz',101,mb_yesno) of IDYES: sl.Delete(a); end; end; end; end; Showmessage(BoolToStr(Overriding) + ' # ' + Booltostr(Exists) + ' + ' + Inttostr(Item)); if (Overriding) AND (Exists) AND (Item >= 0) then begin sl3 := TStringList.Create; try sl3.add(inttostr(iindex)); sl3.add(Crypt(edit1.text)); sl3.Add(Crypt(edit2.text)); sl.Strings[Item]:=(sl3.Commatext); ShowMessageDlgEx('Der vorhandene Eintrag wurde mit den neuen Daten ersetzt!','Eintrag ersetzt',101,mb_OK); finally sl3.free; end; end else if not (Exists) then begin sl3 := TStringList.Create; try sl3.add(inttostr(aindex + 1)); sl3.add(Crypt(edit1.text)); sl3.Add(Crypt(edit2.text)); sl.Add(sl3.Commatext); ShowMessageDlgEx('Der Eintrag wurde gespeichert!','Eintrag gespeichert',101,mb_OK); finally sl3.Free; end; end else ShowMessageDlgEx('Es ist ein Problem beim Speichern aufgetreten. Bitte versuchen Sie es erneut!','Eintrag nicht gespeichert',101,mb_OK); sl.SaveToFile('.\Data\db_einheiten.mmb'); Edit1.Text := ''; Edit2.Text := ''; end else ShowMessageDlgEx('Das Feld "HAL Nummer" muss ausgefüllt sein!','Fehlerhafte Angaben',101,mb_OK); end else ShowMessageDlgEx('Das Feld "Name der Einheit" muss ausgefüllt sein!','Fehlerhafte Angaben',101,mb_OK); end; end; finally sl.Free; sl2.free; end; end; |