![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 16.08.2009
Beiträge: 71
|
Hallo hier ist Helmut ein Neuling,ich möchte meine Klicks zählen abspeichern und bei Bedarf abrufen können.Ich arbeite mit der Version 8.0
ab Freitag mit der Version 11.0.Vieleicht kann mir der ein oder andere einen Tip geben. Code:
Rem ----ich möchte die Mausklicks zählen und abspeichern Declare l&,r&,links&,rechts&,x&,text$ Def GetKeyState(1) !"USER32","GetKeyState" Def IsAKey(1) GetKeyState(&(1)) & $8000 Def NewWindowPos(7) !"USER32","SetWindowPos" Def GetSysColor(1) !"USER32","GetSysColor" Cls GetSysColor(15) NewWindowPos(%hwnd,-1,0,0,0,0,$13) Cls Rem ------------------------------------------------ Assign #1,"linksklicks.DAT" Reset #1 WhileNot @Eof(#1) Input #1,links& Print Links& EndWhile Assign #1,"rechtsklicks.DAT" Reset #1 WhileNot @Eof(#1) input #1,rechts& Print rechts& EndWhile Rem ------------------------------------------------ SetTimer 10 While 1 WaitInput Case %key=2:Break If IsAKey(1) If l&=0 links&=links&+1 l&=1 Endif Else l&=0 Endif If IsAKey(2) If r&=0 rechts&=rechts&+1 r&=1 EndIf Else r&=0 Endif text$="Linksklicks: "+Str$(links&)+", Rechtsklicks: "+Str$(rechts&) SetText %hwnd,text$ Rem ---------------------------------------------------------------- ASSIGN #1,"Linksklicks.DAT" Rewrite #1 Print #1,Date$(2) Print #1,@Time$(0) Print #1,Str$(links&) CLOSE #1 ASSIGN #1,"Rechtsklicks.DAT" Rewrite #1 Print #1,Date$(2) Print #1,@Time$(0) Print #1,Str$(rechts&) CLOSE #1 Rem ----------------------------------------------------------------- Endwhile KillTimer End Geändert von Frabbing (17.08.2009 um 20:59 Uhr) |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Helmut, ich verschiebe deinen Beitrag mal in das richtige Forum. Im "Stammtisch" wird eher nicht über Programmierungs-Themen geredet.
Quellcodes auch bitte immer zwischen [ CODE]...[ /CODE] setzen (Leerzeichen weglassen). Also: [ CODE] Print #1,Date$(2) Print #1,@Time$(0) Print #1,Str$(rechts&) [ /CODE] Das sieht dann so aus: Code:
Print #1,Date$(2) Print #1,@Time$(0) Print #1,Str$(rechts&)
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. Geändert von Frabbing (17.08.2009 um 21:03 Uhr) |
|
|
|
|
|
#3 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
So, mal zu deinem Problem. Am besten verwendest du eine Ini-Datei. Bitte Pfade/Dateinamen anpassen:
links& und rechts& speichern (Programmende oder nach jedem Klick): Code:
WRITEINI "Pfad:/Dateiname.ini","Mausklicks","Links"=Str$(links&) WRITEINI "Pfad:/Dateiname.ini","Mausklicks","Rechts"=Str$(rechts&) Code:
Declare nop$
nop$=ReadIni$("Pfad:/Dateiname.ini","Mausklicks","Links")
links&=0
Case nop$<>"": links&=Val(nop$)
nop$=ReadIni$("Pfad:/Dateiname.ini","Mausklicks","Rechts")
rechts&=0
Case nop$<>"": rechts&=Val(nop$)
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#4 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 16.08.2009
Beiträge: 71
|
Code:
Declare l&,r&,links&,rechts&,x&,text$,nop$,pfad$
Def GetKeyState(1) !"USER32","GetKeyState"
Def IsAKey(1) GetKeyState(&(1)) & $8000
Def NewWindowPos(7) !"USER32","SetWindowPos"
Def GetSysColor(1) !"USER32","GetSysColor"
Cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
Cls
SetTimer 10
While 1
WaitInput
Case %key=2:Break
If IsAKey(1)
If l&=0
links&=links&+1
l&=1
Endif
Else
l&=0
Endif
If IsAKey(2)
If r&=0
rechts&=rechts&+1
r&=1
EndIf
Else
r&=0
Endif
text$="Linksklicks: "+Str$(links&)+", Rechtsklicks: "+Str$(rechts&)
SetText %hwnd,text$
WriteIni GetDir$("@")+"\\Linksklick.ini","Mausklicks","Links"=@Str$(links&)
WriteIni GetDir$("@")+"\\Rechtsklick.ini","Mausklicks","rechts"=@Str$(rechts&)
Endwhile
KillTimer
End
|
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
So benutzt du zwei Ini-Dateien, ist das so gewollt? Eigentlich reicht ein Name für eine Ini-Datei. Es werden dort dann zwei Einträge erstellt.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#6 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 16.08.2009
Beiträge: 71
|
Ist das machbar?
Kann ich , bei einer Datei.ini , das aktuelle Datum als Dateiname nehmen. So daß ich später die Daten eines bestimmten Tages auslesen kann.Ich benutze im Augenblick noch Xprofan 8.0 was sich aber noch in dieser Woche ändert.Ich bekomme die Version 11.0 Genauer gesagt ich möchte meine Mausklicks zählen und später feststellen können an welchen Tagen es wieviele waren. Mfg Helmut Code:
Declare l&,r&,links&,rechts&,x&,text$,nop$,pfad$
Def GetKeyState(1) !"USER32","GetKeyState"
Def IsAKey(1) GetKeyState(&(1)) & $8000
Def NewWindowPos(7) !"USER32","SetWindowPos"
Def GetSysColor(1) !"USER32","GetSysColor"
Cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
Cls
SetTimer 10
While 1
WaitInput
Case %key=2:Break
If IsAKey(1)
If l&=0
links&=links&+1
l&=1
Endif
Else
l&=0
Endif
If IsAKey(2)
If r&=0
rechts&=rechts&+1
r&=1
EndIf
Else
r&=0
Endif
text$="Linksklicks: "+Str$(links&)+", Rechtsklicks: "+Str$(rechts&)
SetText %hwnd,text$
WriteIni GetDir$("@")+"\\Linksklick.ini","Mausklicks","Links"=@Str$(links&)
WriteIni GetDir$("@")+"\\Rechtsklick.ini","Mausklicks","rechts"=@Str$(rechts&)
Endwhile
KillTimer
End
|
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Probier doch mal das:
Code:
WriteIni GetDir$("@")+"\\Klicks.ini","Mausklicks am "+Date$(0),"Links"=@Str$(links&)
WriteIni GetDir$("@")+"\\Klicks.ini","Mausklicks am "+Date$(0),"Rechts"=@Str$(rechts&)
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#8 (Direktlink) | |
|
Gast
Beiträge: n/a
|
Hallo es geht auch:
Zitat:
|
|
|
|
|
#9 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 16.08.2009
Beiträge: 71
|
Wer kann mir da helfen:
ich finde keinen Weg die Daten wieder auszulesen.Das abspeichern funktioniert.Es zählt zwar die Mausklicks ungenau aber das bekomme ich noch in den Griff.Bin für jede Hilfe dankbar.Zur Information ich benutze Xprofan Version 11.2 und Xp Code:
Declare l&,r&,links&,rechts&,x&,text$,nop$,pfad$
Def GetKeyState(1) !"USER32","GetKeyState"
Def IsAKey(1) GetKeyState(&(1)) & $8000
Def NewWindowPos(7) !"USER32","SetWindowPos"
Def GetSysColor(1) !"USER32","GetSysColor"
Cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
Cls
SetTimer 10
While 1
WaitInput
Case %key=2:Break
If IsAKey(1)
If l&=0
links&=links&+1
l&=1
Endif
Else
l&=0
Endif
If IsAKey(2)
If r&=0
rechts&=rechts&+1
r&=1
EndIf
Else
r&=0
Endif
text$="Linksklicks: "+Str$(links&)+", Rechtsklicks: "+Str$(rechts&)
SetText %hwnd,text$
WriteIni GetDir$("@")+"\\"+Date$(0)+".ini","Klicks","Links"=@Str$(links&)
WriteIni GetDir$("@")+"\\"+Date$(0)+".ini","Klicks","Rechts"=@Str$(rechts&)
Endwhile
KillTimer
End
|
|
|
|
|
|
#10 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 16.08.2009
Beiträge: 71
|
Hallo Mike Du weißt ich bin Neuling und es hat ertwas länger gedauert
bis ich Deine Antwort auf meine Frage aktuelles Datum als Dateiname wieder gefunden habe.Deshalb ein etwas verspätetes Dankeschön.Es funktioniert .Nur ich bringe es nicht fertig diese Daten wieder auszulesen. Muß halt kräftig lernen. Mfg Helmut |
|
|
|
|
|
|
#11 (Direktlink) |
|
Gast
Beiträge: n/a
|
Nun,
WriteIni = SchreibeIni das Gegenstück? Na? Genau! ReadIni = LeseIni Kannst du prima in der tollen XProfan Hilfe nachlesen. Wenn du es dann immer noch nicht hinbekommst meldest du dich einfach nochmal. Gruß |
|
|
|
#12 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
Zitat:
Da steht alles weitere für das Auslesen einer INI-Datei
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#13 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 16.08.2009
Beiträge: 71
|
Hallo Horst das "normale" Auslesen einer *.Ini Datei klappt ja auch nur in
diesem Fall wo das jeweil aktuelle Datum als Dateiname genutzt wird z.B WriteIni GetDir$("@")+"\\"+Date$(0)+".ini","Klicks","Links" =@Str$(links&) habe ich Probleme.Trotzdem vielen Dank für Deine Info.Es braucht halt alles seine Zeit. Mfg Helmut |
|
|
|
|
|
#14 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Hallo Helmut,
ich habe deine drei fast identischen Themen mal zusammen geführt. Bitte nicht bei jeder weiterführenden Frage ein neues Thema aufmachen, sonst verlieren alle den Überblick. Zitat:
Ich finde aber nach wie vor die Lösung besser, die ich vorher mal vorgeschlagen hatte. Nämlich das Datum mit in die Ini-Datei aufzunehmen. Du hast dann nur eine Ini-Datei, die kannst du ja zeilenzeise einlesen und nach Datum analysieren. Oder in eine Listbox/Gridbox einlesen und anzeigen. Was hälst du davon?
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#15 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Problemlösung, wie per EMail besprochen. Bitte die alte Ini-Datei vor dem Testen dieses Codes löschen!
Code:
Declare akt&,grid&,name$,l&,r&,links&,rechts&,x&,text$,nop$,olddate$,t1$,t2$,t3$
Def GetKeyState(1) !"USER32","GetKeyState"
Def IsAKey(1) GetKeyState(&(1)) & $8000
Def NewWindowPos(7) !"USER32","SetWindowPos"
Def GetSysColor(1) !"USER32","GetSysColor"
Proc LoadList
x&=FileSize(name$)
If x&>=1
Assign #1,name$
Reset #1
If %IOResult
Else
WhileNot @EOF(#1)
Input #1, t1$
t1$=Mid$(t1$,2,Len(t1$)-2)
Input #1, t2$
t2$=Right$(t2$,Len(t2$)-6)
Input #1, t3$
t3$=Right$(t3$,Len(t3$)-7)
AddString(grid&,t1$+"|"+t2$+"|"+t3$)
EndWhile
Close #1
EndIf
Endif
EndProc
Cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
olddate$=Date$(0)
name$=$AppDataDir+"Mausklicks.ini"
nop$=ReadIni$(name$,Date$(0),"Links")
links&=0
Case nop$<>"": links&=Val(nop$)
nop$=ReadIni$(name$,Date$(0),"Rechts")
rechts&=0
Case nop$<>"": rechts&=Val(nop$)
WriteIni name$,Date$(0),"Links"=Str$(links&)
WriteIni name$,+Date$(0),"Rechts"=Str$(rechts&)
akt&=Create("Button",%hwnd,"Liste aktualisieren",8,8,100,24)
grid&=Create("GridBox", %hwnd, "Datum;0;80;Linksklicks;1;80;Rechtsklicks;1;80", 2, 8, 40, 250, 300)
LoadList()
SetTimer 10
While 1
WaitInput
Case %key=2:Break
' Läuft das Programm länger als ein Tag?
' Ja, dann Daten zurücksetzen!
'
If Date$(0)<>olddate$
links&=0
rechts&=0
olddate$=Date$(0)
EndIf
'
'
If IsAKey(1)
If l&=0
links&=links&+1
l&=1
WriteIni name$,Date$(0),"Links"=Str$(links&)
Endif
Else
l&=0
Endif
If IsAKey(2)
If r&=0
rechts&=rechts&+1
r&=1
WriteIni name$,+Date$(0),"Rechts"=Str$(rechts&)
EndIf
Else
r&=0
Endif
text$="Mausklicks am "+Date$(1)+": links = "+Str$(links&)+" / rechts = "+Str$(rechts&)
SetText %hwnd,text$
If Clicked(akt&)
Sleep 125
ClearList grid&
LoadList()
Endif
Endwhile
KillTimer
End
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. Geändert von Frabbing (23.08.2009 um 12:04 Uhr) |
|
|
|
|
![]() |
|
| Lesezeichen |
| Stichworte |
| mausklicks-zählen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fenster reagieren zeitweise nicht auf Mausklicks | Novor | Windows Vista | 3 | 27.03.2007 13:00 |
| Programm zum zählen der Tastenberührungen | Der-Neue | C/C++, Visual C++, Visual C++.NET | 9 | 04.04.2006 00:42 |
| User zählen per Anmeldung | Dj EKI | PHP/MySQL | 0 | 13.09.2005 13:24 |
| WMP reagiert an einigen Stellen nicht auf Mausklicks | amenophiiis | Office-Anwendungen | 1 | 21.03.2005 21:42 |
| gefundene Datensätze zählen! | Petzopiano | Office-Anwendungen | 4 | 04.06.2004 07:40 |