|
Antwort |
Registriert seit: 26. Dez 2002 Ort: Berlin 140 Beiträge Delphi 5 Standard |
#1
ich komme mit diesem Vererben oder Kindfenstern in der MDI-Anwendung nicht klar
ich möchte den Eintrag von einem Editfeld welches sich in einem Kind-Fenster befindet in ein anderes Kindfenster übergeben. ich komme aber damit nicht klar könnt ihr mir dabei helfen ? mfg |
Zitat |
Registriert seit: 14. Nov 2005 561 Beiträge RAD-Studio 2009 Ent |
#2
merke dir beim erstellen der Fensterinstanz in welcher sich das Edit befindet deren Handle. Dann kannst du auch immer wieder schön darauf zugreiffen.
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
|
Zitat |
Registriert seit: 26. Dez 2002 Ort: Berlin 140 Beiträge Delphi 5 Standard |
#3
ich versuche mich ja in delphi stelle mich aber einwenig pattich an
und finde deshalb hier keinen anfang |
Zitat |
Registriert seit: 14. Nov 2005 561 Beiträge RAD-Studio 2009 Ent |
#4
hab grad kein Delphi zur Hand. Post mir mal den Code in welchem du die Fensterinstanz erstellst dann kann ich dir vielleicht einen Tipp geben.
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
|
Zitat |
Registriert seit: 26. Dez 2002 Ort: Berlin 140 Beiträge Delphi 5 Standard |
#5
mein Objektfenster sieht derzeit so aus
Delphi-Quellcode:
unit ObjektDaten;
interface uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, ComCtrls, Menus; type tDaten = record OName: string[30]; OObjektgruppe: string[30]; OStrasse: string[25]; OPlz: string[8]; OOrt: string[20]; OVTel: string[25]; OTel: string[5]; OVFax: string[5]; OFax: string[5]; OVMobil: string[5]; OMobil: string[5]; OVService: string[5]; OService: string[5]; OWebseite: string[5]; OEmail: string[5]; OZusatz: string[5]; OPDienststelle: string[30]; OPStrasse: string[25]; OPPlz: string[8]; OPOrt: string[20]; OPVTel: string[25]; OPTel: string[5]; OPVFax: string[5]; OPFax: string[5]; OPSachbearbeiter: string[5]; OPZusatz: string[5]; end; TObjekt = class(TForm) OpenDialogdatei: TOpenDialog; SaveDialogDatei: TSaveDialog; PageControlObjektDaten: TPageControl; TabSheet1: TTabSheet; PAdresseGroupBox: TGroupBox; Panel2: TPanel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label18: TLabel; EditOStrasse: TEdit; EditOPLZ: TEdit; EditOOrt: TEdit; EditOVTel: TEdit; EditOTel: TEdit; EditOVFax: TEdit; EditOFax: TEdit; EditOVMobil: TEdit; EditOMobil: TEdit; EditOVService: TEdit; EditOService: TEdit; EditOWebseite: TEdit; EditOEMail: TEdit; EditOZusatz: TMemo; ObjektzuordnungGroupBox: TGroupBox; Label13: TLabel; Label14: TLabel; EditOName: TEdit; EditOObjektgruppe: TEdit; AbteilungGroupBox: TGroupBox; Abteilungsverwaltung: TDBGrid; Panel7: TPanel; Abteilungssuche: TRadioGroup; Panel8: TPanel; ObjektMenu: TMainMenu; File1: TMenuItem; Edit1: TMenuItem; CutItem: TMenuItem; CopyItem: TMenuItem; PasteItem: TMenuItem; Window1: TMenuItem; WindowCascadeItem: TMenuItem; WindowTileItem: TMenuItem; WindowTileItem2: TMenuItem; WindowMinimizeItem: TMenuItem; WindowArrangeItem: TMenuItem; Administrator1: TMenuItem; Lizenz1: TMenuItem; Lizenzinhaber1: TMenuItem; Help1: TMenuItem; HelpAboutItem: TMenuItem; Beenden1: TMenuItem; atbestandsverwaltung1: TMenuItem; N1: TMenuItem; Steuerung1: TMenuItem; gehezumObjekt1: TMenuItem; N2: TMenuItem; nchterDatensatz1: TMenuItem; vorigerDatensatz1: TMenuItem; letzterDatensatz1: TMenuItem; neuesObjektanlegen1: TMenuItem; N3: TMenuItem; nderungenspeichern1: TMenuItem; Panel4: TPanel; Panel11: TPanel; ObjektButton: TButton; Button5: TButton; Button6: TButton; procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure FormClose(Sender: TObject; var Action: TCloseAction); // Objekt verlassen procedure OPNameChange(Sender: TObject); procedure CutItemClick(Sender: TObject); procedure gehezumObjekt1Click(Sender: TObject); //zum ersten Objekt procedure Beenden1Click(Sender: TObject); //Objektfenster Schließen procedure atbestandsverwaltung1Click(Sender: TObject); procedure nchterDatensatz1Click(Sender: TObject); //zum nächsten Objekt procedure vorigerDatensatz1Click(Sender: TObject); //zum vorigen Objekt procedure letzterDatensatz1Click(Sender: TObject); //zum letzten Objekt procedure neuesObjektanlegen1Click(Sender: TObject); //neues Objekt anlegen procedure nderungenspeichern1Click(Sender: TObject); procedure ObjektButtonClick(Sender: TObject); //änderungen der Objektdaten speichern private { Private-Deklarationen } procedure CreateSachverhaltDaten (const Name: string);// SachverhaltDaten public { Public-Deklarationen } dateiname:string; datei: file of tDaten; daten: tDaten; end; var Objekt: TObjekt; implementation {$R *.DFM} uses Verwaltung, Sachverhalt; procedure TObjekt.atbestandsverwaltung1Click(Sender: TObject); // Sachverhalt begin // Sachverhalt CreateSachverhaltDaten ('Sachverhalt'); // Sachverhalt end; // Sachverhalt // Sachverhalt procedure TObjekt.CreateSachverhaltdaten(const Name: string); // Sachverhalt var // Sachverhalt Child: TSachverhaltForm; // Sachverhalt begin // Sachverhalt Child := TSachverhaltForm.Create(Application); // Sachverhalt Child.Caption := Name; // Sachverhalt end; // Sachverhalt procedure TObjekt.FormCreate(Sender: TObject); begin dateiname:=''; MainForm.Objektverwltung.Visible:=False; end; procedure TObjekt.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if dateiname <> '' then closefile(datei); end; procedure TObjekt.OPNameChange(Sender: TObject); begin OPName.Text:=EditOName.text; OPObjektgruppe.Text:=EditOObjektgruppe.Text; end; procedure TObjekt.FormClose(Sender: TObject; var Action: TCloseAction); // Objekt verlassen begin // Objekt verlassen Action := caFree; // Objekt verlassen MainForm.Objektverwltung.Visible:=True; // Objekt verlassen end; procedure TObjekt.CutItemClick(Sender: TObject); begin try reset(datei); seek(datei, filesize(datei)); EditOName.Text:=''; EditOObjektgruppe.Text:=''; EditOStrasse.Text:=''; EditOPlz.Text:=''; EditOOrt.Text:=''; EditOVTel.Text:=''; EditOTel.Text:=''; EditOVFax.Text:=''; EditOFax.Text:=''; EditOVMobil.Text:=''; EditOMobil.Text:=''; EditOVService.Text:=''; EditOService.Text:=''; EditOWebseite.Text:=''; EditOEmail.Text:=''; EditOZusatz.Text:=''; daten.OName:=EditOName.text; daten.OObjektgruppe:=EditOObjektgruppe.text; daten.OStrasse:=EditOStrasse.text; daten.OPlz:=EditOPlz.text; daten.OOrt:=EditOOrt.text; daten.OVTel:=EditOVTel.text; daten.OTel:=EditOTel.text; daten.OVFax:=EditOVFax.text; daten.OFax:=EditOFax.text; daten.OVMobil:=EditOVMobil.text; daten.OMobil:=EditOMobil.text; daten.OVService:=EditOVService.text; daten.OService:=EditOService.text; daten.OWebseite:=EditOWebseite.text; daten.OEmail:=EditOEmail.text; daten.OZusatz:=EditOZusatz.text; write(datei,daten); editOname.setfocus except showmessage('Fehler: Zuerst Objekt öffnen!') end end; procedure TObjekt.gehezumObjekt1Click(Sender: TObject); //erster Datensatz begin //erster Datensatz try //erster Datensatz reset(datei); //erster Datensatz if not eof(datei) then //erster Datensatz begin //erster Datensatz read(datei,daten); //erster Datensatz EditOName.Text:=daten.OName; //erster Datensatz EditOObjektgruppe.Text:=daten.OObjektgruppe; //erster Datensatz EditOStrasse.Text:=daten.OStrasse; //erster Datensatz EditOPlz.Text:=daten.OPlz; //erster Datensatz EditOOrt.Text:=daten.OOrt; //erster Datensatz EditOVTel.Text:=daten.OVTel; //erster Datensatz EditOTel.Text:=daten.OTel; //erster Datensatz EditOVFax.Text:=daten.OVFax; //erster Datensatz EditOFax.Text:=daten.OFax; //erster Datensatz EditOVMobil.Text:=daten.OVMobil; //erster Datensatz EditOMobil.Text:=daten.OMobil; //erster Datensatz EditOVService.Text:=daten.OVService; //erster Datensatz EditOService.Text:=daten.OService; //erster Datensatz EditOWebseite.Text:=daten.OWebseite; //erster Datensatz EditOEmail.Text:=daten.OEmail; //erster Datensatz EditOZusatz.Text:=daten.OZusatz; //erster Datensatz OPStrasse.Text:=daten.OPStrasse; //erster Datensatz OPPlz.Text:=daten.OPPlz; //erster Datensatz OPOrt.Text:=daten.OPOrt; //erster Datensatz OPVTel.Text:=daten.OPVTel; //erster Datensatz OPTel.Text:=daten.OPTel; //erster Datensatz OPVFax.Text:=daten.OPVFax; //erster Datensatz OPFax.Text:=daten.OPFax; //erster Datensatz OPSachbearbeiter.Text:=daten.OPSachbearbeiter; //ersten Datensatz OPZusatz.Text:=daten.OPZusatz; //erster Datensatz end //erster Datensatz else showmessage('Dateiende erreicht') //erster Datensatz except //erster Datensatz showmessage('Fehler: Zuerst Datei öffnen!') //erster Datensatz end //erster Datensatz end; //erster Datensatz procedure TObjekt.Beenden1Click(Sender: TObject); begin Close; end; procedure TObjekt.nchterDatensatz1Click(Sender: TObject); //zum nächsten Objekt begin //zum nächsten Objekt try //zum nächsten Objekt if not eof(datei) then //zum nächsten Objekt begin //zum nächsten Objekt read(datei,daten); //zum nächsten Objekt EditOName.Text:=daten.OName; //zum nächsten Objekt EditOObjektgruppe.Text:=daten.OObjektgruppe; //zum nächsten Objekt EditOStrasse.Text:=daten.OStrasse; //zum nächsten Objekt EditOPlz.Text:=daten.OPlz; //zum nächsten Objekt EditOOrt.Text:=daten.OOrt; //zum nächsten Objekt EditOVTel.Text:=daten.OVTel; //zum nächsten Objekt EditOTel.Text:=daten.OTel; //zum nächsten Objekt EditOVFax.Text:=daten.OVFax; //zum nächsten Objekt EditOFax.Text:=daten.OFax; //zum nächsten Objekt EditOVMobil.Text:=daten.OVMobil; //zum nächsten Objekt EditOMobil.Text:=daten.OMobil; //zum nächsten Objekt EditOVService.Text:=daten.OVService; //zum nächsten Objekt EditOService.Text:=daten.OService; //zum nächsten Objekt EditOWebseite.Text:=daten.OWebseite; //zum nächsten Objekt EditOEmail.Text:=daten.OEmail; //zum nächsten Objekt EditOZusatz.Text:=daten.OZusatz; //zum nächsten Objekt OPStrasse.Text:=daten.OPStrasse; //zum nächsten Objekt OPPlz.Text:=daten.OPPlz; //zum nächsten Objekt OPOrt.Text:=daten.OPOrt; //zum nächsten Objekt OPVTel.Text:=daten.OPVTel; //zum nächsten Objekt OPTel.Text:=daten.OPTel; //zum nächsten Objekt OPVFax.Text:=daten.OPVFax; //zum nächsten Objekt OPFax.Text:=daten.OPFax; //zum nächsten Objekt OPSachbearbeiter.Text:=daten.OPSachbearbeiter; //zum nächsten Objekt OPZusatz.Text:=daten.OPZusatz; //zum nächsten Objekt end //zum nächsten Objekt else showmessage('Dateiende erreicht!') //zum nächsten Objekt except //zum nächsten Objekt showmessage('Fehler: Zuerst Datei öffnen!') //zum nächsten Objekt end //zum nächsten Objekt //zum nächsten Objekt end; //zum nächsten Objekt procedure TObjekt.vorigerDatensatz1Click(Sender: TObject);//zum vorigen Objekt begin //zum vorigen Objekt try //zum vorigen Objekt if filepos(datei)>1 then //zum vorigen Objekt begin //zum vorigen Objekt seek(datei,filepos(datei)-2); //zum vorigen Objekt read(datei,daten); //zum vorigen Objekt EditOName.Text:=daten.OName; //zum vorigen Objekt EditOObjektgruppe.Text:=daten.OObjektgruppe; //zum vorigen Objekt EditOStrasse.Text:=daten.OStrasse; //zum vorigen Objekt EditOPlz.Text:=daten.OPlz; //zum vorigen Objekt EditOOrt.Text:=daten.OOrt; //zum vorigen Objekt EditOVTel.Text:=daten.OVTel; //zum vorigen Objekt EditOTel.Text:=daten.OTel; //zum vorigen Objekt EditOVFax.Text:=daten.OVFax; //zum vorigen Objekt EditOFax.Text:=daten.OFax; //zum vorigen Objekt EditOVMobil.Text:=daten.OVMobil; //zum vorigen Objekt EditOMobil.Text:=daten.OMobil; //zum vorigen Objekt EditOVService.Text:=daten.OVService; //zum vorigen Objekt EditOService.Text:=daten.OService; //zum vorigen Objekt EditOWebseite.Text:=daten.OWebseite; //zum vorigen Objekt EditOEmail.Text:=daten.OEmail; //zum vorigen Objekt EditOZusatz.Text:=daten.OZusatz; //zum vorigen Objekt OPStrasse.Text:=daten.OPStrasse; //zum vorigen Objekt OPPlz.Text:=daten.OPPlz; //zum vorigen Objekt OPOrt.Text:=daten.OPOrt; //zum vorigen Objekt OPVTel.Text:=daten.OPVTel; //zum vorigen Objekt OPTel.Text:=daten.OPTel; //zum vorigen Objekt OPVFax.Text:=daten.OPVFax; //zum vorigen Objekt OPFax.Text:=daten.OPFax; //zum vorigen Objekt OPSachbearbeiter.Text:=daten.OPSachbearbeiter; //zum vorigen Objekt OPZusatz.Text:=daten.OPZusatz; //zum vorigen Objekt end //zum vorigen Objekt else //zum vorigen Objekt showmessage('Dateianfang erreicht!') //zum vorigen Objekt except //zum vorigen Objekt showmessage('Fehler: Zuerst Objektdatei öffnen!') //zum vorigen Objekt end //zum vorigen Objekt //zum vorigen Objekt end; //zum vorigen Objekt procedure TObjekt.letzterDatensatz1Click(Sender: TObject);//zum letzten Objekt begin //zum letzten Objekt try //zum letzten Objekt reset(datei); //zum letzten Objekt seek(datei, filesize(datei)-1); //zum letzten Objekt if not (filesize(datei) =0) then //zum letzten Objekt begin //zum letzten Objekt read(datei,daten); //zum letzten Objekt EditOName.Text:=daten.OName; //zum letzten Objekt EditOObjektgruppe.Text:=daten.OObjektgruppe; //zum letzten Objekt EditOStrasse.Text:=daten.OStrasse; //zum letzten Objekt EditOPlz.Text:=daten.OPlz; //zum letzten Objekt EditOOrt.Text:=daten.OOrt; //zum letzten Objekt EditOVTel.Text:=daten.OVTel; //zum letzten Objekt EditOTel.Text:=daten.OTel; //zum letzten Objekt EditOVFax.Text:=daten.OVFax; //zum letzten Objekt EditOFax.Text:=daten.OFax; //zum letzten Objekt EditOVMobil.Text:=daten.OVMobil; //zum letzten Objekt EditOMobil.Text:=daten.OMobil; //zum letzten Objekt EditOVService.Text:=daten.OVService; //zum letzten Objekt EditOService.Text:=daten.OService; //zum letzten Objekt EditOWebseite.Text:=daten.OWebseite; //zum letzten Objekt EditOEmail.Text:=daten.OEmail; //zum letzten Objekt EditOZusatz.Text:=daten.OZusatz; //zum letzten Objekt OPStrasse.Text:=daten.OPStrasse; //zum letzten Objekt OPPlz.Text:=daten.OPPlz; //zum letzten Objekt OPOrt.Text:=daten.OPOrt; //zum letzten Objekt OPVTel.Text:=daten.OPVTel; //zum letzten Objekt OPTel.Text:=daten.OPTel; //zum letzten Objekt OPVFax.Text:=daten.OPVFax; //zum letzten Objekt OPFax.Text:=daten.OPFax; //zum letzten Objekt OPSachbearbeiter.Text:=daten.OPSachbearbeiter; //zum letzten Objekt OPZusatz.Text:=daten.OPZusatz; //zum letzten Objekt end //zum letzten Objekt else showmessage('Objektdatei enthält kein Objekt') //zum letzten Objekt except //zum letzten Objekt showmessage('Fehler: Zuerst Objektdatei öffnen!') //zum letzten Objekt end //zum letzten Objekt //zum letzten Objekt end; //zum letzten Objekt procedure TObjekt.neuesObjektanlegen1Click(Sender: TObject); //neues Objekt erfassen begin //neues Objekt erfassen try //neues Objekt erfassen reset(datei); //neues Objekt erfassen seek(datei, filesize(datei)); //neues Objekt erfassen EditOName.Text:=''; //neues Objekt erfassen EditOObjektgruppe.Text:=''; //neues Objekt erfassen EditOStrasse.Text:=''; //neues Objekt erfassen EditOPlz.Text:=''; //neues Objekt erfassen EditOOrt.Text:=''; //neues Objekt erfassen EditOVTel.Text:=''; //neues Objekt erfassen EditOTel.Text:=''; //neues Objekt erfassen EditOVFax.Text:=''; //neues Objekt erfassen EditOFax.Text:=''; //neues Objekt erfassen EditOVMobil.Text:=''; //neues Objekt erfassen EditOMobil.Text:=''; //neues Objekt erfassen EditOVService.Text:=''; //neues Objekt erfassen EditOService.Text:=''; //neues Objekt erfassen EditOWebseite.Text:=''; //neues Objekt erfassen EditOEmail.Text:=''; //neues Objekt erfassen EditOZusatz.Text:=''; //neues Objekt erfassen OPStrasse.Text:=''; //neues Objekt erfassen OPPlz.Text:=''; //neues Objekt erfassen OPOrt.Text:=''; //neues Objekt erfassen OPVTel.Text:=''; //neues Objekt erfassen OPTel.Text:=''; //neues Objekt erfassen OPVFax.Text:=''; //neues Objekt erfassen OPFax.Text:=''; //neues Objekt erfassen OPSachbearbeiter.Text:=''; //neues Objekt erfassen OPZusatz.Text:=''; //neues Objekt erfassen //neues Objekt erfassen daten.OName:=EditOName.text; //neues Objekt erfassen daten.OObjektgruppe:=EditOObjektgruppe.text; //neues Objekt erfassen daten.OStrasse:=EditOStrasse.text; //neues Objekt erfassen daten.OPlz:=EditOPlz.text; //neues Objekt erfassen daten.OOrt:=EditOOrt.text; //neues Objekt erfassen daten.OVTel:=EditOVTel.text; //neues Objekt erfassen daten.OTel:=EditOTel.text; //neues Objekt erfassen daten.OVFax:=EditOVFax.text; //neues Objekt erfassen daten.OFax:=EditOFax.text; //neues Objekt erfassen daten.OVMobil:=EditOVMobil.text; //neues Objekt erfassen daten.OMobil:=EditOMobil.text; //neues Objekt erfassen daten.OVService:=EditOVService.text; //neues Objekt erfassen daten.OService:=EditOService.text; //neues Objekt erfassen daten.OWebseite:=EditOWebseite.text; //neues Objekt erfassen daten.OEmail:=EditOEmail.text; //neues Objekt erfassen daten.OZusatz:=EditOZusatz.text; //neues Objekt erfassen daten.OPStrasse:=OPStrasse.Text; //neues Objekt erfassen daten.OPPlz:=OPPlz.Text; //neues Objekt erfassen daten.OPOrt:=OPOrt.Text; //neues Objekt erfassen daten.OPVTel:=OPVTel.Text; //neues Objekt erfassen daten.OPTel:=OPTel.Text; //neues Objekt erfassen daten.OPVFax:=OPVFax.Text; //neues Objekt erfassen daten.OPFax:=OPFax.Text; //neues Objekt erfassen daten.OPSachbearbeiter:=OPSachbearbeiter.Text; //neues Objekt erfassen daten.OPZusatz:=OPZusatz.Text; //neues Objekt erfassen write(datei,daten); //neues Objekt erfassen EditOName.setfocus //neues Objekt erfassen except //neues Objekt erfassen showmessage('Fehler: Zuerst Objektdaten öffnen!') //neues Objekt erfassen end //neues Objekt erfassen //neues Objekt erfassen end; //neues Objekt erfassen procedure TObjekt.nderungenspeichern1Click(Sender: TObject); //änderungen Speichern begin //änderungen Speichern daten.OName:=EditOName.text; //änderungen Speichern daten.OObjektgruppe:=EditOObjektgruppe.text; //änderungen Speichern daten.OStrasse:=EditOStrasse.text; //änderungen Speichern daten.OPlz:=EditOPlz.text; //änderungen Speichern daten.OOrt:=EditOOrt.text; //änderungen Speichern daten.OVTel:=EditOVTel.text; //änderungen Speichern daten.OTel:=EditOTel.text; //änderungen Speichern daten.OVFax:=EditOVFax.text; //änderungen Speichern daten.OFax:=EditOFax.text; //änderungen Speichern daten.OVMobil:=EditOVMobil.text; //änderungen Speichern daten.OMobil:=EditOMobil.text; //änderungen Speichern daten.OVService:=EditOVService.text; //änderungen Speichern daten.OService:=EditOService.text; //änderungen Speichern daten.OWebseite:=EditOWebseite.text; //änderungen Speichern daten.OEmail:=EditOEmail.text; //änderungen Speichern daten.OZusatz:=EditOZusatz.text; //änderungen Speichern daten.OPStrasse:=OPStrasse.Text; //änderungen Speichern daten.OPPlz:=OPPlz.Text; //änderungen Speichern daten.OPOrt:=OPOrt.Text; //änderungen Speichern daten.OPVTel:=OPVTel.Text; //änderungen Speichern daten.OPTel:=OPTel.Text; //änderungen Speichern daten.OPVFax:=OPVFax.Text; //änderungen Speichern daten.OPFax:=OPFax.Text; //änderungen Speichern daten.OPSachbearbeiter:=OPSachbearbeiter.Text; //änderungen Speichern daten.OPZusatz:=OPZusatz.Text; //änderungen Speichern try //änderungen Speichern seek(datei,filepos(datei)-1); //änderungen Speichern write(datei,daten) //änderungen Speichern except //änderungen Speichern showmessage('Objekt zuerst öffnen bzw. kein Objekt angezeigt')//änderungen Speichern end //änderungen Speichern //änderungen Speichern end; //änderungen Speichern procedure TObjekt.ObjektButtonClick(Sender: TObject); begin opendialogdatei.Title := 'Objektdatei Öffnen'; // opendialogdatei.InitialDir := 'C:/Programme/'; opendialogdatei.DefaultExt := '.dat'; opendialogdatei.Filter := 'Objektdaten (*.dat)|*.dat|Alle Dateien (*.*)|*.*'; opendialogdatei.Options := [ofAllowMultiSelect, ofPathMustExist,ofShowHelp]; opendialogdatei.Options := [ofPathMustExist,ofShowHelp]; //Objektdaten öffnen if opendialogdatei.execute then //Objektdaten öffnen begin //Objektdaten öffnen dateiname:=opendialogdatei.filename; //Objektdaten öffnen assignfile(datei,dateiname); //Objektdaten öffnen atbestandsverwaltung1.Enabled:=True; //Objektdaten öffnen Steuerung1.Visible:=True; //Objektdaten öffnen ObjektButton.Enabled:=False; MainForm.ObjektOpen.Enabled:=False; try //Objektdaten öffnen reset(datei) //Objektdaten öffnen except //Objektdaten öffnen dateiname:=''; //Objektdaten öffnen showmessage('Objektdatei existiert nicht') //Objektdaten öffnen end //Objektdaten öffnen end; //Objektdaten öffnen EditOName.clear; //Objektdaten öffnen EditOObjektgruppe.clear; //Objektdaten öffnen EditOStrasse.clear; //Objektdaten öffnen EditOPlz.clear; //Objektdaten öffnen EditOOrt.clear; //Objektdaten öffnen EditOVTel.clear; //Objektdaten öffnen EditOTel.clear; //Objektdaten öffnen EditOVFax.clear; //Objektdaten öffnen EditOFax.clear; //Objektdaten öffnen EditOVMobil.clear; //Objektdaten öffnen EditOMobil.clear; //Objektdaten öffnen EditOVService.clear; //Objektdaten öffnen EditOService.clear; //Objektdaten öffnen EditOWebseite.clear; //Objektdaten öffnen EditOEmail.clear; //Objektdaten öffnen EditOZusatz.clear; //Objektdaten öffnen OPStrasse.clear; //Objektdaten öffnen OPPlz.clear; //Objektdaten öffnen OPOrt.clear; //Objektdaten öffnen OPVTel.clear; //Objektdaten öffnen OPTel.clear; //Objektdaten öffnen OPVFax.clear; //Objektdaten öffnen OPFax.clear; //Objektdaten öffnen OPSachbearbeiter.clear; //Objektdaten öffnen OPZusatz.clear; //Objektdaten öffnen end; //Objektdaten öffnen end. |
Zitat |
Registriert seit: 16. Feb 2008 Ort: Baden-Württemberg 2.332 Beiträge Delphi 2007 Professional |
#6
@Kunoishi
Mal ganz unabhängig von deinem Problem: deine Art den Sourcecode zu kommentieren ist extrem unproduktiv. Du kannst doch nicht an jede Zeile einer Methode einen völlig belanglosen Text anhängen, und diesen Text exakt untereinander angeordnet halten. So brauchst du mehr Zeit für das korrekte Ausrichten der Kommentare als für das Programmieren selber. Ich habe ehrlich gesagt noch nie eine so schlechte Art zu Kommentieren gesehen. Besser wäre:
Delphi-Quellcode:
{
der altuelle Datensatz wird ausgelesen und die Daten auf das Fomular übertragen letzte Änderung: 2009-03-14 } procedure TObjekt.gehezumObjekt1Click(Sender: TObject); begin // hier der Sourcecode OHNE Kommentare // Kommentar gibts nur, wenn irgend etwas besonderes zu erklären wäre end;
fork me on Github
|
Zitat |
Registriert seit: 14. Nov 2005 561 Beiträge RAD-Studio 2009 Ent |
#7
Delphi-Quellcode:
und dann vom Child aus etwas in dieser Art. ... public { Public-Deklarationen } dateiname:string; datei: file of tDaten; daten: tDaten; // speichert die Handles deiner Childs Fenster: array of Cardinal; end; ... procedure TObjekt.CreateSachverhaltdaten(const Name: string); // Sachverhalt var // Sachverhalt Child: TSachverhaltForm; // Sachverhalt begin try // Sachverhalt Child := TSachverhaltForm.Create(Application); // Sachverhalt Child.Caption := Name; // Sachverhalt // erhöht das Handlearray SetLength(Fenster, High(Fenster) + 1); // speichert das Handle des Childs Fenster[High(Fenster)] := Child.Handle; Child.Tag := High(Fenster); finally // das hast du noch vergessen! FreeAndNil(Child); end; end;
Delphi-Quellcode:
Genau so wirds wahrscheinlich nicht funktionieren, aber ich hab nun mal immer noch kein Delphi vorhanden um das zu testen.
procedure TSachverhaltForm.EtwasInAnderemChildTun(ChildTag: Integer);
var Child: TSachverhaltForm; begin try // Child := TSachverhaltForm.Create; Child.Handle := Form1.Fenster[ChildTag]; Child.Edit1.Text := 'test'; finally FreeAndNil(Child); end; end; Aber irgendwas in der Richtung könnte man tun. Musste halt selber auch noch ein bissl studieren... Du musst natürlich aufgrund irgendwelcher Kriterien dein Fenster ausfindig machen und dafür sorgen, dass wenn du ein Child schliesst das array Fenster entsprechend angepasst wird...
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
|
Zitat |
Registriert seit: 11. Okt 2003 Ort: Elbflorenz 44.184 Beiträge Delphi 12 Athens |
#8
statt dem Array könnte man notfalls auch einfach jedesmal die untegeordneten Fenster such
> FindWindowEx bzw. EnumChildWindows
$2B or not $2B
|
Zitat |
Registriert seit: 16. Feb 2008 Ort: Baden-Württemberg 2.332 Beiträge Delphi 2007 Professional |
#9
Die Idee mit dem Handle ist ein Irrweg.
Sämtliche MDI-Formulare können über das Hauptformular ausgelesen werden.
Delphi-Quellcode:
procedure Irgendwas;
var hauptform : TForm; aktMDI, tmp : TObjekt; // übrigens, TObjekt ist ein sehr ungeschickter Name für ein MDI-Cild-Formular !!! i : Integer; s : string; begin hauptform := Application.MainForm; // MDI Vater holen aktMDI := hauptform.ActiveMDIChild as TObjekt; // das aktuelle MDI Kind Formular holen s := aktMDI.Edit1.Text; // vor aktuellem MDI einen Wert aus einem Editfeld auslesen // Schleife über alle MDI Kind Formulare for i := 0 to hauptform.MDIChildCount-1 do begin tmp := hauptform.MDIChildren[i] as TObjekt; if tmp = aktMDI then continue; // aktuelle MDI soll nicht verändert werden tmp.Edit1.Text := '#' + s + '#'; // #-Zeichen sollen nur zeigen, dass wirklich was kopiert wurde end;
fork me on Github
|
Zitat |
Ansicht |
Linear-Darstellung |
Zur Hybrid-Darstellung wechseln |
Zur Baum-Darstellung wechseln |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
LinkBack URL |
About LinkBacks |