Deutsch
Forum

Brauche etwas Hilfe

 

H.Brill
Hallo,
Ich bräuchte etwas Hilfe. Ich will ein Tourenplan-
programm machen und bekomme die Abwicklung
mit einem TabControl nicht so hin.

Im oberen LV soll der Kundenstamm rein. Unten
im Tabcontrol sollen für die einzelnen Tage (Mo - FR)
LVs erstellt werden. In diese sollen nun die einzelnen
Kunden übernommen werden. So sind für jeden Tag
verschiedene Kunden drin. Später will ich dann noch
ein Ausdrucken der versch. Tage sowie Löschen, Verschieben
usw. einbauen.

Das Problem ist, wenn ich einen Kunden im Kundenstamm
anklicke, einen Tab-Reiter auswähle und mit <Setze>
reinkopieren will, dann erscheinen die Kunden bei jedem
Tag (Tab).

Scheint nur ein kleiner Fehler zu sein. Was habe ich übersehen ?
KompilierenMarkierenSeparieren
Declare TabControl&,ende%, hd%, OK%, nz%, sp1%, lade1%, setze%
Declare index1%, tabnr%
Declare Memo1&,Memo2&,Memo3&,lv1&, lv2&, lv3&, lv4&, lv5&, klv&, lvdll&
Declare text1$, Edits$, sfile$
Edits$ = "01111111"
 $I Listview_Funktionen.inc

Proc SpeichereKlv

    Declare x&
    Declare bereich#

    IfNot sfile$ = ""

        x&=GetNeededMemory(klv&,1)
        Dim bereich#,x&
        x&=ListviewToCsv(klv&,bereich#,0,0)
        WriteFileQuick(addr(sfile$),bereich#,0,x&)
        Dispose bereich#

    EndIf

EndProc

Proc LadeKlv

    Declare bytes&
    Declare bereich#
    bytes&=@FileSize(sfile$)

    If bytes& > 0

        Dim bereich#,bytes&
        ReadFileQuick(addr(sfile$),bereich#,0,bytes&)
        CsvToListview(klv&,bereich#,bytes&,8)
        Dispose bereich#

    EndIf

EndProc

lvdll&=usedll("Listview.dll")
hd% = @Create("Dialog",%HWnd,"Tourenplan - Programm von H.Brill",10,10,%MaxX - 100,%MaxY - 100)
nz% = @Create("Button", hd%,  "Neue Zeile",10, 10, 80, 20)
sp1% = @Create("Button", hd%, "Speichern", 10, 40, 80, 20)
lade1% = @Create("Button", hd%, "Laden", 10, 70, 80, 20)
setze% = @Create("Button", hd%, "Setze", 10, 300, 80, 20)
Let klv&=CreateListview(hd%,%hinstance,0,$ffffff,-1,$31)
InsertColumn(klv&, " ", 20, 0)
InsertColumn(klv&, "Kdnr", 50, 0)
InsertColumn(klv&, "Name", 150, 0)
InsertColumn(klv&, "Wohnort", 150, 0)
InsertColumn(klv&, "Straße", 150, 0)
InsertColumn(klv&, "Telefon", 120, 0)
InsertColumn(klv&, "Verrechn.", 100, 0)
InsertColumn(klv&, "Preiszone", 100, 0)
ShowListview(klv&, 10, 100, 850, 150)
Let TabControl&=Create("TABCTRL",hd%,"Freitag",10,380,900,400)
InsertTab(TabControl&,0,"Donnerstag")
InsertTab(TabControl&,0,"Mittwoch")
InsertTab(TabControl&,0,"Dienstag")
InsertTab(TabControl&,0,"Montag")
Let lv1&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv1&, " ", 20, 0)
InsertColumn(lv1&, "Kdnr", 50, 0)
InsertColumn(lv1&, "Name", 150, 0)
InsertColumn(lv1&, "Wohnort", 150, 0)
InsertColumn(lv1&, "Straße", 150, 0)
InsertColumn(lv1&, "Telefon", 120, 0)
InsertColumn(lv1&, "Verrechn.", 100, 0)
InsertColumn(lv1&, "Preiszone", 100, 0)
ShowListview(lv1&, 10, 40, 800, 200)
Let lv2&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv2&, " ", 20, 0)
InsertColumn(lv2&, "Kdnr", 50, 0)
InsertColumn(lv2&, "Name", 150, 0)
InsertColumn(lv2&, "Wohnort", 150, 0)
InsertColumn(lv2&, "Straße", 150, 0)
InsertColumn(lv2&, "Telefon", 120, 0)
InsertColumn(lv2&, "Verrechn.", 100, 0)
InsertColumn(lv2&, "Preiszone", 100, 0)
ShowListview(lv2&, 10, 40, 800, 200)
Let lv3&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv3&, " ", 20, 0)
InsertColumn(lv3&, "Kdnr", 50, 0)
InsertColumn(lv3&, "Name", 150, 0)
InsertColumn(lv3&, "Wohnort", 150, 0)
InsertColumn(lv3&, "Straße", 150, 0)
InsertColumn(lv3&, "Telefon", 120, 0)
InsertColumn(lv3&, "Verrechn.", 100, 0)
InsertColumn(lv3&, "Preiszone", 100, 0)
ShowListview(lv3&, 10, 40, 800, 200)
Let lv4&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv4&, " ", 20, 0)
InsertColumn(lv4&, "Kdnr", 50, 0)
InsertColumn(lv4&, "Name", 150, 0)
InsertColumn(lv4&, "Wohnort", 150, 0)
InsertColumn(lv4&, "Straße", 150, 0)
InsertColumn(lv4&, "Telefon", 120, 0)
InsertColumn(lv4&, "Verrechn.", 100, 0)
InsertColumn(lv4&, "Preiszone", 100, 0)
ShowListview(lv4&, 10, 40, 800, 200)
Let lv5&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv5&, " ", 20, 0)
InsertColumn(lv5&, "Kdnr", 50, 0)
InsertColumn(lv5&, "Name", 150, 0)
InsertColumn(lv5&, "Wohnort", 150, 0)
InsertColumn(lv5&, "Straße", 150, 0)
InsertColumn(lv5&, "Telefon", 120, 0)
InsertColumn(lv5&, "Verrechn.", 100, 0)
InsertColumn(lv5&, "Preiszone", 100, 0)
ShowListview(lv5&, 10, 40, 800, 200)
InitMessages(hd%)
SelectColumnEdits(klv&, addr(Edits$))
EnableEdits(klv&, 1)
EnableEdits(lv1&, 1)
EnableEdits(lv2&, 1)
EnableEdits(lv3&, 1)
EnableEdits(lv4&, 1)
EnableEdits(lv5&, 1)

If Equ(%key,2)

    Let ende%=1

EndIf

Clear OK%

WhileNot Ok%

    WaitInput

    If @GetFocus(nz%)

        SetItem klv&, "", "", "", "", "", "", "", ""

    ElseIf @GetFocus(sp1%)

        sfile$ = @SaveFile$("Datei speichern", "TourNr.csv")
        SpeichereKlv

    ElseIf @GetFocus(lade1%)

        sfile$ = @LoadFile$("Datei laden", "TourNr|*.csv")
        LadeKlv

    ElseIf @GetFocus(setze%)

        index1% = GetSelectedLine(klv&)
        tabnr% = @GetActiveTab(TabControl&)
        Hier soll abhängig vom Reiter des Tabcontrols
        in das entsprechende Listview reinkopiert werden
        Case @Equ(tabnr%, 0) : CopyLineTo(klv&, lv1&, index1%, 0)
        Case @Equ(tabnr%, 1) : CopyLineTo(klv&, lv2&, index1%, 0)
        Case @Equ(tabnr%, 2) : CopyLineTo(klv&, lv3&, index1%, 0)
        Case @Equ(tabnr%, 3) : CopyLineTo(klv&, lv4&, index1%, 0)
        Case @Equ(tabnr%, 4) : CopyLineTo(klv&, lv5&, index1%, 0)

    EndIf

    If @Equ(%key, 2)

        Ok% = 1

    EndIf

Wend

@DestroyWindow(hD%)
CloseMessages(hd%)
End
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
20.01.2005  
 



Nun - Du hast noch viele andere Problemchen in Deinem Source - aber so ists ein bisl besser (getfocus gesetzt).
KompilierenMarkierenSeparieren
Declare TabControl&,ende%, hd%, OK%, nz%, sp1%, lade1%, setze%
Declare index1%, tabnr%
Declare Memo1&,Memo2&,Memo3&,lv1&, lv2&, lv3&, lv4&, lv5&, klv&, lvdll&
Declare text1$, Edits$, sfile$
Edits$ = "01111111"
 $I Listview_Funktionen.inc

Proc SpeichereKlv

    Declare x&
    Declare bereich#

    IfNot sfile$ = ""

        x&=GetNeededMemory(klv&,1)
        Dim bereich#,x&
        x&=ListviewToCsv(klv&,bereich#,0,0)
        WriteFileQuick(addr(sfile$),bereich#,0,x&)
        Dispose bereich#

    EndIf

EndProc

Proc LadeKlv

    Declare bytes&
    Declare bereich#
    bytes&=@FileSize(sfile$)

    If bytes& > 0

        Dim bereich#,bytes&
        ReadFileQuick(addr(sfile$),bereich#,0,bytes&)
        CsvToListview(klv&,bereich#,bytes&,8)
        Dispose bereich#

    EndIf

EndProc

lvdll&=usedll("Listview.dll")
hd% = @Create("Dialog",%HWnd,"Tourenplan - Programm von H.Brill",10,10,%MaxX - 100,%MaxY - 100)
nz% = @Create("Button", hd%,  "Neue Zeile",10, 10, 80, 20)
sp1% = @Create("Button", hd%, "Speichern", 10, 40, 80, 20)
lade1% = @Create("Button", hd%, "Laden", 10, 70, 80, 20)
setze% = @Create("Button", hd%, "Setze", 10, 300, 80, 20)
Let klv&=CreateListview(hd%,%hinstance,0,$ffffff,-1,$31)
InsertColumn(klv&, " ", 20, 0)
InsertColumn(klv&, "Kdnr", 50, 0)
InsertColumn(klv&, "Name", 150, 0)
InsertColumn(klv&, "Wohnort", 150, 0)
InsertColumn(klv&, "Straße", 150, 0)
InsertColumn(klv&, "Telefon", 120, 0)
InsertColumn(klv&, "Verrechn.", 100, 0)
InsertColumn(klv&, "Preiszone", 100, 0)
ShowListview(klv&, 10, 100, 850, 150)
Let TabControl&=Create("TABCTRL",hd%,"Freitag",10,380,900,400)
InsertTab(TabControl&,0,"Donnerstag")
InsertTab(TabControl&,0,"Mittwoch")
InsertTab(TabControl&,0,"Dienstag")
InsertTab(TabControl&,0,"Montag")
Let lv1&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv1&, " ", 20, 0)
InsertColumn(lv1&, "Kdnr", 50, 0)
InsertColumn(lv1&, "Name", 150, 0)
InsertColumn(lv1&, "Wohnort", 150, 0)
InsertColumn(lv1&, "Straße", 150, 0)
InsertColumn(lv1&, "Telefon", 120, 0)
InsertColumn(lv1&, "Verrechn.", 100, 0)
InsertColumn(lv1&, "Preiszone", 100, 0)
ShowListview(lv1&, 10, 40, 800, 200)
Let lv2&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv2&, " ", 20, 0)
InsertColumn(lv2&, "Kdnr", 50, 0)
InsertColumn(lv2&, "Name", 150, 0)
InsertColumn(lv2&, "Wohnort", 150, 0)
InsertColumn(lv2&, "Straße", 150, 0)
InsertColumn(lv2&, "Telefon", 120, 0)
InsertColumn(lv2&, "Verrechn.", 100, 0)
InsertColumn(lv2&, "Preiszone", 100, 0)
ShowListview(lv2&, 10, 40, 800, 200)
Let lv3&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv3&, " ", 20, 0)
InsertColumn(lv3&, "Kdnr", 50, 0)
InsertColumn(lv3&, "Name", 150, 0)
InsertColumn(lv3&, "Wohnort", 150, 0)
InsertColumn(lv3&, "Straße", 150, 0)
InsertColumn(lv3&, "Telefon", 120, 0)
InsertColumn(lv3&, "Verrechn.", 100, 0)
InsertColumn(lv3&, "Preiszone", 100, 0)
ShowListview(lv3&, 10, 40, 800, 200)
Let lv4&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv4&, " ", 20, 0)
InsertColumn(lv4&, "Kdnr", 50, 0)
InsertColumn(lv4&, "Name", 150, 0)
InsertColumn(lv4&, "Wohnort", 150, 0)
InsertColumn(lv4&, "Straße", 150, 0)
InsertColumn(lv4&, "Telefon", 120, 0)
InsertColumn(lv4&, "Verrechn.", 100, 0)
InsertColumn(lv4&, "Preiszone", 100, 0)
ShowListview(lv4&, 10, 40, 800, 200)
Let lv5&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv5&, " ", 20, 0)
InsertColumn(lv5&, "Kdnr", 50, 0)
InsertColumn(lv5&, "Name", 150, 0)
InsertColumn(lv5&, "Wohnort", 150, 0)
InsertColumn(lv5&, "Straße", 150, 0)
InsertColumn(lv5&, "Telefon", 120, 0)
InsertColumn(lv5&, "Verrechn.", 100, 0)
InsertColumn(lv5&, "Preiszone", 100, 0)
ShowListview(lv5&, 10, 40, 800, 200)
InitMessages(hd%)
SelectColumnEdits(klv&, addr(Edits$))
EnableEdits(klv&, 1)
EnableEdits(lv1&, 1)
EnableEdits(lv2&, 1)
EnableEdits(lv3&, 1)
EnableEdits(lv4&, 1)
EnableEdits(lv5&, 1)

If Equ(%key,2)

    Let ende%=1

EndIf

Clear OK%

WhileNot Ok%

    WaitInput

    If @GetFocus(nz%)

        SetItem klv&, "", "", "", "", "", "", "", ""
        setfocus (%hwnd)

    ElseIf @GetFocus(sp1%)

        sfile$ = @SaveFile$("Datei speichern", "TourNr.csv")
        SpeichereKlv
        setfocus (%hwnd)

    ElseIf @GetFocus(lade1%)

        sfile$ = @LoadFile$("Datei laden", "TourNr|*.csv")
        LadeKlv
        setfocus (%hwnd)

    ElseIf @GetFocus(setze%)

        index1% = GetSelectedLine(klv&)
        tabnr% = @GetActiveTab(TabControl&)
        Hier soll abhängig vom Reiter des Tabcontrols
        in das entsprechende Listview reinkopiert werden
        Case @Equ(tabnr%, 0) : CopyLineTo(klv&, lv1&, index1%, 0)
        Case @Equ(tabnr%, 1) : CopyLineTo(klv&, lv2&, index1%, 0)
        Case @Equ(tabnr%, 2) : CopyLineTo(klv&, lv3&, index1%, 0)
        Case @Equ(tabnr%, 3) : CopyLineTo(klv&, lv4&, index1%, 0)
        Case @Equ(tabnr%, 4) : CopyLineTo(klv&, lv5&, index1%, 0)
        setfocus (%hwnd)

    EndIf

    If @Equ(%key, 2)

        Ok% = 1

    EndIf

Wend

@DestroyWindow(hD%)
CloseMessages(hd%)
End

Salve, iF
 
20.01.2005  
 




Frank
Abbing
Hallo Heinz,

uiui, da läuft aber einiges schief.
Ist auch überhaupt keine Listview.dll-Frage, sondern eine allgemeine Profanfrage.

Wie auch immer: Um für jeden Reiter des Tabcontrols eine eigene Anzeige zu erhalten, mußt du natürlich deine Listviews (und natürlich auch andere Controls) passend ein-und ausblenden!
Nur ein Listview - das, welches zu dem aktuellen Reiter gehört - darf gerade angezeigt werden. Die anderen mußt du ausschalten (Showwindow). Ändert sich der Reiter (Abfrage mit Profans TabChanged()), dann muß das passende Listview eingeblendet werden...
 
20.01.2005  
 




H.Brill
Hallo Frank,
Danke für den Tipp.
Werde es heute abend mal ausprobieren.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
21.01.2005  
 




H.Brill
Hallo,
Habe endlich mein Problem gelöst und
kann weitermachen.
War nur ne Kleinigkeit.

Da hätte ich noch ne Frage :

Ich habe in meinen verschiedenen Listviews Checkboxen
eingebaut ($4). Das Speichern der einzelnen Tage geht soweit
auch. Nun möchte ich auch die Zustände der Checkboxen
mit abspeichern, um sie beim späteren Laden wieder genauso
für jedes Listview zu haben.

Muß ich dazu jedes Listview mit GetChecked() abklappern
und in eine extra Datei schreiben oder geht das auch einfacher ?

Oder kann man da bei den Funktionen CsvToListview und
ListviewToCsv was machen (Verbesserungsvorschlag) ?
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
22.01.2005  
 




Frank
Abbing
Hallo Heinz,

das würde natürlich das Csv-Format hinfällig machen, sodass andere Programme diese Dateien nicht mehr richtig laden könnten. Möchte ich auf keinen Fall.
Du wirst für den Checkboxen-Stand eine zusätzliche Datei benötigen, evt. könnte ich dafür zwei Funktion machen, z.B. CheckboxStateToMem() und MemToCheckboxState().
 
23.01.2005  
 




H.Brill
Hallo Frank,
Solche zwei Funktionen wären nicht schlecht.
Ich denke, daß auch andere sowas brauchen
können, zumal man dann nicht von Hand zu Fuß
sondern mit zwei Funktionen arbeiten kann.

Am besten, daß man es mit WriteFileQuick und ReadFileQuick
bequem auf Platte speichern bzw. lesen kann.

Kannst es dir mal überlegen.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
23.01.2005  
 




Frank
Abbing
...Grubbelprubbel... Ja, mach ich...
 
23.01.2005  
 




Frank
Abbing
Hallo nochmal,

sind in der Mache, die beiden Funktionen.
 
23.01.2005  
 




Frank
Abbing
Nochmal ich.

hab die Funktionen fertig und dir die Beta + Source zugeschickt. Teste mal, ob es das ist, was du gesucht hast.
 
23.01.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.780 Betrachtungen

Unbenanntvor 0 min.

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Frank Abbing (5x)
H.Brill (4x)
unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie