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 - |
| | | Jojo - marcher TUTS. toutefois weisst aussi RGH toujours wieder puis hin solche Anweisungen trop klammern. Im Prinzip la hâte hierbei seulement Glück dass cela erste Minus à qui richtigen Stelle sitzt. Würdest Du z.B. paramètre 4 et 3 tauschen (Sinnhaftigkeit sei dahingestellt) serait es déjà échouer. et c'est denk je la fois un très bon Hinweis sur une ebend falsche Syntax.
je personnelle mets mich un pour qui abolition de - et ; comme Parametertrennzeichen. seule et alleine cela , sollte hierfür nötig son. peut-être bringt Roland cela seinem Parser chez. |
| | | | |
| | Wilfried Friebe | Sorry je dachte cela X avant Profan suffisant j'ai Xprofan 10 zum %CyCaption je peux es maintenant zwar auslesen c'est 30 et %Cymenu = 20 mais comment verändere je cet Werte ? si bien suis je im programieren pas à qui sys-variablen habe je mich jusqu'à maintenant pas getraut :--/ |
| | | 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 ▲ |
| |
| | | ne...aucune Problem! cet Werte sommes pas gedacht zum Verändern - seulement nutzen sollst Du cet!
si Du z.B. un la fenêtre avec einem Innenbereich de 400 Pixel dans Hauteur vouloir ensuite musst Du cela la fenêtre alors mindestens avec window 0,0, x,400+%cycaption erstellen. là cela mais aussi Quatsch ist weil Fensterrahmen & Co. aussi addiert volonté müssten peux Du simple ici so ne vieille Funktion de mir benutzen: KompilierenMarqueSéparation cela allez ensuite so: KompilierenMarqueSéparationwindow 0,0 - 640,480
setinnersize 640,480
imprimer Fensterinnenraum ist:,width(%hwnd),x,height(%hwnd),Pixel grande.
waitinput
end
proc setinnersize
parameters x%,y%
setwindowpos %Hwnd = %winleft,%wintop - ((%winright-%winleft)-(width(%hwnd)-x%)),((%winbottom-%wintop)-(height(%hwnd)-Y%));0
endproc
Pour Setinnersize hat Dein HWND ensuite garantiert une Anzeigebreich de 640x480 Pixeln. |
| | | | |
| | Wilfried Friebe | OK soweit si bien Normale la fenêtre sommes ne...aucune Problem eigendlich ca va um den Befehl
@db(Browse,X,Y, S1,N1,S2,N2)
chez einer GridBox J'ai eu den faute aussi déjà einmal habe par größere x/y maße mais hinbekommen
chez @db(Browse,X,Y, S1,N1,S2,N2) allez cela mais pas si on là quelque chose faire peux c'est mon eigendliche Frage
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" | 22.04.2007 ▲ |
| |
| | | je crois (ldr. pas savons) qui Dialog steckt comme Ressource dans qui Runtime. alors Reshacker besorgen et Dialog dans qui prfrun32.exe changement (et dans qui profan.exe pour den Interpretermodus). |
| | | | |
| | RGH | iF
je crois (ldr. pas savons) qui Dialog steckt comme Ressource dans qui Runtime. alors Reshacker besorgen et Dialog dans qui prfrun32.exe changement (et dans qui profan.exe pour den Interpretermodus).
je fürchte, ici wird qui Reshacker pas reichen, mais je dois es mir sur qui ToDo-liste pour qui prochain XProfan-Version prendre. Pour db(Éditer,...) erfolgt bereits qui automatische Anpassung, pour db(Browse,...) malheureusement encore pas.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.04.2007 ▲ |
| |
| | | Ok, et je werd später la fois versuchen cette Dialog nachträglich trop changement. Erstmal regarder comment on den DLG (den je encore nie aufgerufen habe ) überhaupt trop Gesichte bekommt. |
| | | | |
| | 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... |
| | | | |
|
répondreOptions du sujet | 10.990 Views |
Themeninformationencet Thema hat 8 participant: |