| |
|
|
| Um mon Problem trop erläutern, d'abord un Bildchen
si eh bien qui im Beispiel betonte la ligne gelöscht ou bien dans l'autre Anzeige kopiert wird, stimmt qui Rechnungsverlauf pas plus. - comment peux je es lösen, dass sich qui Anzeige verbessert, alors aktualisiert ? - Es devrait aller, mais j'ai absolu aucun Vorstellung de einem Anfang - qui hilft ? qui Dossier (ou bien autre) wird comme CSV-Dossier gespeichert là vous dans qui Listview.dll de Frank angezeigt wird. Pour Freaks: on beachte qui Datumsanzeige ! |
|
|
| |
|
|
|
Michael Wodrich | Lecture qui la ligne Wert ermitteln ensuite - effacer (Wert abziehen) - Déplacer (ici Wert effacer, là addieren)
Verständlich?
Wird un feines Tool.
belle Grüße Michael Wodrich
je ne sais pas, si Vous Message sur qui Lösch- ou bien Drag&Drop-Tätigkeit erhälst. si cela pas qui le cas ist, ensuite wird unten un Knöpfchen Effacer bzw Déplacer den Prozess dans couloir mettons. |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 30.12.2007 ▲ |
|
|
|
|
| @Michael Soweit était je aussi déjà - Den Wert qui gelöschten (kopierten) la ligne vom letzten Gesamtwert abziehen et (si kopiert) dans qui neuen Anzeige zuzählen. Soweit, si bien. qui anderen Einträge sommes mais ensuite pas aktualisiert worden. si je z. B. 5 Einträge hab et chacun ist anders im Wert et je lösche den zweiten Eintrag, stimmt qui Rechnungsverlauf im 3. et 4. Eintrag pas plus. qui Endwert im 5. Eintrag wäre ensuite wieder richtig et là liegt mon Problem |
|
|
| |
|
|
|
Thomas Freier | je serait qui Beträge comme +999 ou bien -999 insérer et Sauver sans Zwischenstand. si qui Istbetrag, qui oui gross angezeigt wird, pas reicht, qui Werte qui letzten Spalte beim Montrer ausrechnen laisser. Beim date könntest du par vérifier un Vordatieren verhindern. Wird une Buchung modifié, simple qui dernier Spalte récente berechnen laisser. |
|
|
| |
|
|
|
Dieter Zornow | allô Horst,
je serait ueber une Boucle qui kompletten Werte récente berechnen.
Gruss aus Bangkok
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 31.12.2007 ▲ |
|
|
|
|
| @Dieter
je serait ueber une Boucle qui kompletten Werte récente berechnen.
Den Gedanken J'ai eu déjà, mais comment ??? -
@Thomas Que le Datumsanzeige la hâte Du faux verstanden. sur Wunsch eines individuel Herren habe je cela automatische date aus qui Version 1 (MoneyGuard) so umgestaltet, dass maintenant chacun Datumseingabe entweder sur cela Kalendertool aus Windows, avec eigenen Eingaben ou bien automatisch possible ist. une Kontrollfunktion soll ensuite Termine pour Zahlungen ou bien Eingänge annoncer. -
mon Problem ist pour comment avant qui Aktualisierung qui Rechnungswege.
@Frank peux es son dass Du Listview_Funktionen.inc sous XProfan-11 angleichen musst ou bien hab je une veraltete Version qui Include-Dossier ? |
|
|
| |
|
|
|
Frank Abbing |
peux es son dass Du Listview_Funktionen.inc sous XProfan-11 angleichen musst ou bien hab je une veraltete Version qui Include-Dossier ?
Inwiefern? |
|
|
| |
|
|
|
Thomas Freier | seulement un vite gestricktes Muster aus einer anderen Anwendung: KompilierenMarqueSéparation~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Franks ListView
Declare lvdll&,bereich#,bytes&
Declare handle&,indexline&,status&,x&,xn1!,xn2!
vdll&=usedll(bvr/Listview.dll)
$I Listview_Funktionen.inc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mein Konto ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proc Rechne_MeinKonto
DIM bereich#,1024
Decimals 2
GetItemText(listview_B&,bereich#,2,0)
text$=String$(bereich#,0)
SetItemText(listview_B&,addr(text$),3,0)
WhileLoop GetLines(listview_B&)
GetItemText(listview_B&,bereich#,3,(&Loop-1))
xn1!=val(String$(bereich#,0))
GetItemText(listview_B&,bereich#,2,&Loop)
xn2!=val(String$(bereich#,0))
text$= str$(xn1! + xn2!)
SetItemText(listview_B&,addr(text$),3,&Loop)
EndWhile
AddItemValues(listview_B&,2,bereich#,2)
SetText num33&,Kontostand: + String$(bereich#,0)
Dispose bereich#
EndProc
Proc Konto_Liste
Def @Waitmessage(0) !USER32,WaitMessage
Declare num33&,Boot_dlg&,listview_B&,BP_but1&,BP_but2&,BP_but3&,BP_but4&,BP_but5&,BP_but6&
Boot_dlg& = @Create(Window,%hwnd, Mein Konto ,50,24,896,680)
Zeile neu
BP_but1& = CreateButton(Boot_dlg&,Neu,40,620,80,25)
Zeile löschen
BP_but2& = CreateButton(Boot_dlg&,Löschen,160,620,80,25)
Liste speichern
BP_but5& = CreateButton(Boot_dlg&,Speichern,650,620,80,26)
Ende Button
BP_but4& = CreateButton(Boot_dlg&,Ende,740,620,80,25)
num33&=@Control(STATIC,,$50000080,350,624,160,13,Boot_dlg&,1,%hinstance,$1000)
SetFont num33&,lfont&
listview_B&=CreateListView(Boot_dlg&,%hinstance,Rgb(0,0,0),Rgb(250,250,250),-1,$21)
InsertColumn listview_B&,Eingabe / Ausgabe,490,0
InsertColumn listview_B&,Datum,100,1
InsertColumn listview_B&,Betrag,100,1
InsertColumn listview_B&,Stand,100,1
text$=MeinKonto.csv
bytes&=@FileSize(text$)
If bytes&>0
Dim bereich#,bytes&
ReadFileQuick(addr(text$),bereich#,0,bytes&)
CsvToListview(listview_B&,bereich#,bytes&,4)
Dispose bereich#
EndIf
SetFont listview_B&,lfont&
AutoSortListview listview_B&,1,1,1
ShowListView(listview_B&,32,22,820,560)
Rechne_MeinKonto
InitMessages(Boot_dlg&)
EnableEdits(listview_B&,1)
@SetFocus(Boot_dlg&)
Usecursor 0
While %Menuitem<>-2
@Waitmessage()
x&=GetVar(0)
IfNot x&
Rechne_MeinKonto
EndIf
If GetFocus(BP_but2&)
x&=GetSelectedLine(listview_B&) Nummer der markierten Zeile abfragen
case x& > 0 : Sendmessage(listview_B&,$1008,x&,0) Zeile löschen
ElseIf GetFocus(BP_but1&) Erzeugt eine neue Zeile, scrollt dort hin
und selektiert sie (alle anderen werden deselektiert)
SetItem listview_B&,,,
x&=GetLines(listview_B&)
SelectLine(listview_B&,(x&-1),1)
ElseIf GetFocus(BP_but5&)
text$=MeinKonto.csv
x&=GetNeededMemory(listview_B&,1)
Dim bereich#,x&
x&=ListviewToCsv(listview_B&,bereich#,0,0)
x&=WriteFileQuick(addr(text$),bereich#,0,x&)
Dispose bereich#
MessageBox Liste gespeichert...,Information,$40040
@SetFocus(Boot_dlg&)
ElseIf GetFocus(BP_but4&)
BREAK
EndIf
Usecursor 0
Wend
@DestroyWindow(Boot_dlg&)
Endproc
################################## H A U P T T E I L ####################################
WINDOWSTYLE 512+8+2
WINDOW 1,1-%maxx,710
SETTRUECOLOR 1
Cls RGB(230,230,200)
USEFONT Arial,16,0,0,0,0
SETDIALOGFONT 1
Declare text$
var lfont& = @Create(Font,Arial,15,0,0,0,0)
Konto_Liste
freedll lvdll&
DeleteObject lfont&
$I Listview_Dispose.inc
Fin
CSV-Anhänge mag il pas. Erzeuge avec dem le contenu une : MeinKonto.csv KompilierenMarqueSéparation |
|
|
| |
|
|
|
| @Frank
Inwiefern?
avec qui Version 11 meckert XProfan sur qui Sous... dans Deiner listview_funktionen.inc - Roland hat en supplément extra une Inc-Dossier mitgeliefert pour vieille Programme profalt.inc pour vieille Profan-Programme, qui aucun Operatoren benutzen. Daher dachte je, dass Du cela Sous dans Deiner INC aussi modernisieren müsstest |
|
|
| |
|
|
|
| @Thomas KompilierenMarqueSéparationGetItemText(etatO&,bereich#,3,2)
teil$=String$(bereich#,0)
print teil$
GetItemText(etatO&,bereich#,4,(anzO%-1))
end$=String$(bereich#,0)
print end$
teil!=VAL(teil$)
end!=VAL(end$)
end!=(end!-teil!)
betragO$=STR$(end!)
print betragO$
Sendmessage(etatO&,$1008,2,0)
OBEN_AKTIV Hier wird die Anzeige in einer eigenen Procedur aktu rt
So sieht mon Probecode aus et je denke, dass unterm Strich cela herauskommt, quoi mir vorschwebt. Printen tut il déjà la fois cela, quoi je veux. maintenant seulement encore dans qui Boucle et ensuite récente abspeichern. (Wunder toi nocht sur qui grossen O - là je avec deux Montrer arbeite, hab je qui Variablen avec dessus et Unten getrennt) |
|
|
| |
|
|
|
Frank Abbing |
Daher dachte je, dass Du cela Sous dans Deiner INC aussi modernisieren müsstest
Bien sûr, avec qui neuen Version gibt es ensuite une geänderte Inc. Ist sowieso erheblich schlanker geworden, là je six Procs et Defs maintenant direct dans qui Dll integriert habe. |
|
|
| |
|
|
|
| @Frank
[offtopic] eh bien verrate uns doch la fois, qui qui Hübsche sur Deinem Atavar ist ? - Votre Enkelin ou bien... ? [/offtopic] |
|
|
| |
|
|