Forum | | | | - page 1 - |
| Wilfried Friebe | KompilierenMarqueSéparation-Begin------------------------------------------------------------------
Declare Anzahl%, i%, Name$, Browse$, länge%
Cls
TextColor @RGB(255, 0, 100), -1
Set(CharSet, 0)
UseFont ARIAL, 15, 10, 1, 0, 0
@db(Open, #1,Musik.DBF)
@db(Use, #1)
Print db-Struktur von Musik.DBF
Print Datensätze: ;&dbRecCount
Print Felder: ;%dbFCount
Print Satzgröße: ;%dbRecSize; Byte
Print Headergröße: ;%dbHeader; Byte
Print Letzte Änderung: ;$dbLUpdate
Anzahl% = %dbFCount
i% = 1
WhileNot i% > Anzahl%
@db(GetField, i%)
Print $dbFName,$dbFType,%dbFLen,%dbFDecs
Print
Print
Inc i%
EndWhile
@db(Close, #1)
Waitinput
Name$ = @LoadFile$(Welche Datei,*.DBF)
print Name$
@db(Open, #1,Name$)
@db(Use, #1)
Anzahl% = %dbFCount
i% = 1
WhileNot i% > Anzahl%
@db(GetField, i%)
länge%=%dbFLen
länge%= länge%*5
@set(Decimals,0)
Browse$=Browse$+$dbFName+;+$dbFName+;+str$(länge%)+;
Inc i%
EndWhile
@db(Browse, 10,10,ADRESS-TABELLE,10, Browse$ ,3)
print &dbRecCount
@db(AppendBlank)
@dbPack()
@dbClose(#1)
/../funzione-riferimenti/XProfan/end/'>Fin
j'ai X Profan et Windows XP Bildschirmauflösung 1280-1024 et getestet aussi avec 1024-768 chez beiden Auflösungen ist qui gleiche faute aufgetreten mir manquer unten chez qui Toolbar un paire Pixel (siehe anhängendes Bild) cela gleiche Programme sur einem Notebook avec Windows ME avec einer Auflösung de 1024-768 einwandfrei qui peux mir là aider |
| | | Board MSI B450M BAZOOKA CPU AMD Ryzen 7 2700x 8 Core 3,7-4,2 GH 32 Gb Ram NVIDIA GeForce GTX 3060 12 GB Ram Window 11 Prof 64 Bit
Sun-Guru-Barebone CPU I7-9750H 16 GB Ram NVIDIA GeForce GTX1660TI 6 GB Ram Window 11 Hom 64 Bit
Profan 4.5 bis Xprofan 14 Ein frisch geschriebenes Programm hat meistens einen großen Fehler.Sollte man versuchen diesen großen Fehler zu beseitigen, hat man viele kleine Fehler "Grins" | 22.04.2007 ▲ |
| |
| | | | | - page 2 - |
| Wilfried Friebe | eh bien Erstmal merci jedenfalls lag es pas à meinen beschränkten programierfähigkeiten GRINS werde mich alors gedulden était pas allzuleicht qui umgewöhnung des laïques 4,5 sur X Prfan 10 mais lente gehts
Salut Wilfried |
| | | Board MSI B450M BAZOOKA CPU AMD Ryzen 7 2700x 8 Core 3,7-4,2 GH 32 Gb Ram NVIDIA GeForce GTX 3060 12 GB Ram Window 11 Prof 64 Bit
Sun-Guru-Barebone CPU I7-9750H 16 GB Ram NVIDIA GeForce GTX1660TI 6 GB Ram Window 11 Hom 64 Bit
Profan 4.5 bis Xprofan 14 Ein frisch geschriebenes Programm hat meistens einen großen Fehler.Sollte man versuchen diesen großen Fehler zu beseitigen, hat man viele kleine Fehler "Grins" | 23.04.2007 ▲ |
| |
| | | So habs et zwar muss on seulement untere Procédure einbinden - si on statt dbbrowse besser _dbbrowse eingibt ensuite wird cela la fenêtre sur korrekte 514x265 Pixel Innengrösse gebracht. Bien sûr ist cela unsauberes Schummeln!
Hierfür simple folgende Funktion im Source platzieren: (XPSE-original-variante! / unten qui pas-XPSE-variante) KompilierenMarqueSéparation
_dbbrowse (long a,b,string c,long d,string e,long f) {
long err
string sid=str$(gettickcount)
long timer=external(user32.dll,SetTimer,0,0,250,ProcAddr(_dbbrowse_internal,0))
dbbrowse(a,b,sid,d,e,f)
_dbbrowse_internal {
long h=findwindow(sid)
string s=gettext$(h)
if (substr$(s,1, )==sid) {
external(user32.dll,KillTimer,0,timer)
settext h,c+ +substr$(s,2, )
setwindowpos h=a,b - 320,200;0
setwindowpos h=a,b - ((320-width(h))+514),((200-height(h))+265);0
} else {
err+
case (err==40) : external(user32.dll,KillTimer,0,timer)
}
}
color=#0000FF>}
pas-XPSE-variante: KompilierenMarqueSéparation
proc _DBBROWSE
PARAMETERS A&,B&,C$,D&,E$,F&
var ERR&=0
var SID$=STR$(&GETTICKCOUNT)
var TIMER&=EXTERNAL(user32.dll,SetTimer,0,0,250,PROCADDR(_dbbrowse_internal,0))
DBBROWSE(A&,B&,SID$,D&,E$,F&)
proc _DBBROWSE_INTERNAL
var H&=FINDWINDOW(SID$)
var S$=GETTEXT$(H&)
IF (SUBSTR$(S$,1, )=SID$)
EXTERNAL(user32.dll,KillTimer,0,TIMER&)
SETTEXT H&,C$+ +SUBSTR$(S$,2, )
SETWINDOWPOS H&=A&,B& - 320,200;0
SETWINDOWPOS H&=A&,B& - ((320-WIDTH(H&))+514),((200-HEIGHT(H&))+265);0
ELSE
INC ERR&
IF (ERR&=40)
EXTERNAL(user32.dll,KillTimer,0,TIMER&)
ENDIF
ENDIF
endproc
endproc
et ici mon Testprogramm (attention XPSE!) KompilierenMarqueSéparationcls
Assign #1, ADRESS.STR
Rewrite #1
Imprimer #1, NAME; C; 30; 0
Imprimer #1, VORNAME; C; 30; 0
Imprimer #1, STRASSE; C; 30; 0
Imprimer #1, PLZ_ORT; C; 30; 0
Imprimer #1, TELEFON; C; 20; 0
Imprimer #1, GEBURT; D; 8; 0
Imprimer #1, GEHALT; N; 10; 2
Imprimer #1, NOTIZ; M; 10; 0
Fermer #1
db(Créer, ADRESS.STR, ADRESS.DBF)
@dbOpen(#1,ADRESS.DBF)
@dbUse(#1)
dbCreateIndex nom+prénom > iName
@dbIndex(iName)
_dbbrowse(100,10,Adressen,10,NAME;nom:;100,3)
@dbPack()
@dbClose(#1)
_dbbrowse (long a,b,string c,long d,string e,long f) {
long err
string sid=str$(gettickcount)
long timer=external(user32.dll,SetTimer,0,0,250,ProcAddr(_dbbrowse_internal,0))
dbbrowse(a,b,sid,d,e,f)
_dbbrowse_internal {
long h=findwindow(sid)
string s=gettext$(h)
si (substr$(s,1, )==sid) {
external(user32.dll,KillTimer,0,timer)
settext h,c+ +substr$(s,2, )
setwindowpos h=a,b - 320,200;0
setwindowpos h=a,b - ((320-width(h))+514),((200-height(h))+265);0
} d'autre {
err+
cas (err==40) : external(user32.dll,KillTimer,0,timer)
}
}
}
et im Anhang une lauffähige Exe. |
| | | | |
| | | oui, oui - qui iF |
| | | | |
| | Wilfried Friebe | KompilierenMarqueSéparationdeclare anzahlspalten& ,Dateiname$ ,Spaltenname$
Declare Text$ ,Z& ,Dateiname1$ ,Dateiname2$
cls
anzahlspalten&=0
WhileNot anzahlspalten&
anzahlspalten& = @Input$(Wert eingeben:, Wieviele Spalten ?, anzahlspalten&)
EndWhile
Dateiname$ = @Input$(Namen eingeben:, Welcher Dateiname ? , Dateiname$)
Dateiname1$=Dateiname$+.STR
Assign #1, Dateiname1$
Rewrite #1
print Bitte nach ein ander den Namen des Feldes, dessen Typ,
print dessen Länge und die Anzahl der Dezimalstellen
print getrennt durch ein ;
print die Feldtypen C=Text, D=Datum, N=Zahlen, L=Ja/Nein und M=Memo-Feld
print NAME; C; 30; 0
WhileLoop anzahlspalten&
Spaltenname$ = @Input$(Namen eingeben:, Welcher Spaltenname ? , &loop)
Print #1, Spaltenname$
endwhile
Close #1
Dateiname2$=Dateiname$+.DBF
db(Create, Dateiname1$ , Dateiname2$)
Waitinput
KompilierenMarqueSéparation-Begin------------------------------------------------------------------
proc _DBBROWSE
PARAMETERS A&,B&,C$,D&,E$,F&
var ERR&=0
var SID$=STR$(&GETTICKCOUNT)
var TIMER&=EXTERNAL(user32.dll,SetTimer,0,0,250,PROCADDR(_dbbrowse_internal,0))
DBBROWSE(A&,B&,SID$,D&,E$,F&)
proc _DBBROWSE_INTERNAL
var H&=FINDWINDOW(SID$)
var S$=GETTEXT$(H&)
IF (SUBSTR$(S$,1, )=SID$)
EXTERNAL(user32.dll,KillTimer,0,TIMER&)
SETTEXT H&,C$+ +SUBSTR$(S$,2, )
SETWINDOWPOS H&=A&,B& - 320,200;0
SETWINDOWPOS H&=A&,B& - ((320-WIDTH(H&))+514),((200-HEIGHT(H&))+265);0
ELSE
INC ERR&
IF (ERR&=40)
EXTERNAL(user32.dll,KillTimer,0,TIMER&)
ENDIF
ENDIF
endproc
endproc
Déclarer Anzahl%, i%, nom$, Browse$, länge%, cy%, cy1%
Cls
Name$ = @LoadFile$(quelle Dossier,*.DBF)
@db(Open, #1,nom$)
@db(Use, #1)
Anzahl% = %dbFCount
i% = 1
WhileNot i% > Anzahl%
@db(GetField, i%)
länge%=%dbFLen
länge%= länge%*5
@set(Decimals,0)
Browse$=Browse$+$dbFName+;+$dbFName+;+str$(länge%)+;
Inc i%
Endwhile
_dbbrowse (10,10,Adress-Tabelle,10, Browse$ ,3)
@db(Browse, 10,10,ADRESS-TABELLE,10, Browse$ ,3)
imprimer &dbRecCount
@db(AppendBlank)
@dbPack()
@dbClose(#1)
Fin
Irgendwie gehts doch wohl pas avec dem ersten Programme erstelle je une DB Dossier avec dem zweiten lese je cet fichier ensuite aus et bearbeite vous j'ai qui MUSIK.DBF Dossier comme MUSIK.txt im Anhang dazugetan qui EXE et l'autre Dossier courir seulement solange comment seulement une Spalte ist chez mehreren zeigt cela Prog faux à ist eigendlich oui aussi seulement un Schönheitsfehler im zweiten Programme sommes beide Befehle drin _dbbrownse et @db(brownse) et qui neue Procedur |
| | | Board MSI B450M BAZOOKA CPU AMD Ryzen 7 2700x 8 Core 3,7-4,2 GH 32 Gb Ram NVIDIA GeForce GTX 3060 12 GB Ram Window 11 Prof 64 Bit
Sun-Guru-Barebone CPU I7-9750H 16 GB Ram NVIDIA GeForce GTX1660TI 6 GB Ram Window 11 Hom 64 Bit
Profan 4.5 bis Xprofan 14 Ein frisch geschriebenes Programm hat meistens einen großen Fehler.Sollte man versuchen diesen großen Fehler zu beseitigen, hat man viele kleine Fehler "Grins" | 23.04.2007 ▲ |
| |
| | | @Horst: Könntest Du es ihm zusammenführen? je muss nähhmlich à l'attaque... |
| | | | |
| | | | - page 3 - |
| | | Ok, exposition ego mir à... |
| | | | |
| | | So habs avec Deiner Musik.Dbf probiert - là scheitert oui déjà qui normale Aufruf - irgendwas stimmt alors avec qui l'affaire so encore pas - mais es scheint pas à meiner Ersatzfunktion trop liegen. ici qui Code den je getestet habe: KompilierenMarqueSéparation-Begin------------------------------------------------------------------
Declare Anzahl%, i%, Name$, Browse$, länge%, cy%, cy1%
Cls
Name$ = musik.dbf
@db(Open, #1,Name$)
@db(Use, #1)
Anzahl% = %dbFCount
i% = 1
print anzahl%
WhileNot i% > Anzahl%
@db(GetField, i%)
länge%=%dbFLen
länge%= länge%*5
@set(Decimals,0)
Browse$=Browse$+$dbFName+;+$dbFName+;+str$(länge%)+;
Inc i%
EndWhile
dbbrowse (10,10,Adress-Tabelle,10, Browse$ ,3)
@db(Browse, 10,10,ADRESS-TABELLE,10, Browse$ ,3)
print &dbRecCount
@db(AppendBlank)
@dbPack()
@dbClose(#1)
Fin
|
| | | | |
| | | Thomas Freier
peux je seulement bestätigen. avec einer echten *dbf ca va. sa *.txt ist weder une *.csv encore une *.dbf. chez qui Verwendung de Browse sollte on eigentlich eigentlich alles fest vorgeben. mon Muster hatte 20 Felder, là muss on cela la fenêtre toujours hin et her schieben. Grrr! Ist plan seulement un Hilfsmittel. ensuite lieber Listview ou bien GridBoxen.
Salut Thomas |
| | | | |
| | Wilfried Friebe | Na car avec qui .DFB Dossier ist wohl chez qui umwandlung is .TXT quoi passiert sommes beide unterschiedlich mais qui .DFB Dossier konnte je malheureusement pas envoyons, là hat euer Prog. pas mitgemacht zum Programme selber doit je dire es fonctionne so eigendlich richtig jusqu'à sur den Schönheitsfehler . sommes alles im Moment encore Fragmente mais cela wird encore. Werde plus tour travailler . la fois voyons quoi cela ensuite wird. je melde mich ensuite wieder.
qui tête doit richtig rauchen avec cela on là dessus so un kleines un peu fit bleibt. dans meinem alter de 62 Jahren sollte on là quoi 1faire.
merci et Guß erstmal Wilfried
|
| | | Board MSI B450M BAZOOKA CPU AMD Ryzen 7 2700x 8 Core 3,7-4,2 GH 32 Gb Ram NVIDIA GeForce GTX 3060 12 GB Ram Window 11 Prof 64 Bit
Sun-Guru-Barebone CPU I7-9750H 16 GB Ram NVIDIA GeForce GTX1660TI 6 GB Ram Window 11 Hom 64 Bit
Profan 4.5 bis Xprofan 14 Ein frisch geschriebenes Programm hat meistens einen großen Fehler.Sollte man versuchen diesen großen Fehler zu beseitigen, hat man viele kleine Fehler "Grins" | 24.04.2007 ▲ |
| |
| | | Hey - packe simple Votre DBF dans un ZIP (so faisons que voici chez Dateiendungen quelle ici pas erlaubt sommes) - et lade qui ZIP hoch. |
| | | | |
| | Detlef Tussing | cela Problem besteht wohl toujours |
| | | | |
| | Thomas Freier | | | | | |
|
répondreOptions du sujet | 10.998 Views |
Themeninformationencet Thema hat 8 participant: |