| |
|
|
- Página 1 - |
|
Jac de Lad | Yo sería gern media Parser disponible stellen, aberich tener sólo una (veraltetes) Ejemplo dazu. Bin ahora no en el Lage como todavía en el Schnelle qué de el Boden a stampfen. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.10.2006 ▲ |
|
|
|
| |
|
- Página 4 - |
|
|
Nico Madysa | Como fällt me una, Yo antes einiger Tiempo veces probiert, una EM_SETSEL-Message a una Editar uno me fremden Programa a enviar - sin Erfolg. ¿Es posible, dass Controls / Programas gegen solchen Zugriff de außen abgeschirmt voluntad puede? |
|
|
| |
|
|
|
Frank Abbing | Listboxen y Editcontrols son frei benutzbar. Wahrscheinlich hast du una Editcontrol erwischt, el gar keins war, pero uno con eigener Classe y eigenen Messages. |
|
|
| |
|
|
|
Nico Madysa | Das Será mejor que te va ser - el sähe nämlich auch el Programa ähnlich, dass a kontrollieren Yo intenta habe. Yo werd el wohl con ClassOf() y ChildWindowFromPoint() nachprüfen. Gracias! |
|
|
| |
|
|
|
RGH | Zum Thema XProfan sin Grenzen:
Auch si la Grenzen eigentlich siempre así hoch waren, dass ellos kaum uno bemängelte, empfand Yo esta siempre como unschön.
A Erinnerung: En el bastante frühen Profano²-Versionen es uno todavía con 200 Variables je Typ ausgekommen y bescheidete se con 16384 Programmzeilen.
Lo gab aber siempre auch einzelne Programmierprojekte, el a esta Grenzen stießen, sodass Yo esta con zunehmendem Speicherausbau el Rechner kontinuierlich erweiterte. En el Programmzeilen war el Sprung en 64k-Grenze allerdings con un aufwändigen Umschreiben verbunden, como el Kodierung el Sprungadressen de 2 Byte en 4 Byte aumenta voluntad mußte. (In diesem Zusammenhang nochmals una herzliches DANKE a Dietmar para seine ausführlichen Tests. Wenn ser ProfanManager con uno euen Versión se ejecuta, puede nada mehr así viele Fehler drin ser. )
Tuve ya früh intenta, el Speicherverwaltung dynamischer a gestalten, aber el nagte oftmals a el Stabilität y antes allem a el Geschwindigkeit. Und una weiteres Erhöhen el Grenzen en el reciente statischen Speicherverwaltung, hätte el Speicherverbrauch cada Profano-Programmes encima Gebühr aumenta, porque a XProfan 10 se el Speicher para todos möglichen Variables y Einiges mehr a Beginn previsto. (Ok, en el Cuerdas natürlich sólo el Zeiger en el Cuerdas.)
Neue Delphiversionen boten nun con el Open Arrays (en etwa así algo como dynamischen Arrays en XProfan, sólo no bastante así komfortabel) una Möglichkeit el Speicherverwaltung en XProfan dynamisch a gestalten, sin daß el Geschwindigkeit merklich beeinträchtigt wurde. Como el meisten Programas bisher sólo una Bruchteil el reciente Grenzen nutzen, benötigen ellos en Zukunft deutlich weniger Hauptspeicher, qué el Gesamtperformance a Gute kommt!
Und todavía algo: Jeder Mathematiker se el unbegrenzte Rekursionstiefe de Prozeduren begrüßen, como para manche Características en Verwendung de Prozeduren (anstelle el DEF-Características, el ya siempre sin Bregrenzung el Rekusionstiefe auskamen) doch bastante niedrige Grenzen gesetzt waren.
Und antes allem: Jetzt son el Grenzen weg y yo muss mich nie mehr por lo tanto kümmern!
Saludo 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 | 13.10.2007 ▲ |
|
|
|
|
Rolf Koch |
Und antes allem: Jetzt son el Grenzen weg y yo muss mich nie mehr por lo tanto kümmern!
y dies find Yo el allerwichtigste Neuerung. |
|
|
| |
|
|
|
Jac de Lad | Yo wünsche me todavía, dass el LoadFile-Diálogo auch mehrere Dateinamen zurückgeben kann, si el gewünscht es. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.11.2007 ▲ |
|
|
|
|
Dietmar Horn | ¡Hola Jac,
el va doch ya seit Profano² 6.6: KompilierenMarcaSeparaciónrem ******************************** für Profan 6.6 ****************************
(c) 26.12.99 Uwe Pascal Niemeier
Window 50,50-300,300
declare a#,a%,a&
declare a$,b$,c$
def GetOpenFileName(1) ! COMDLG32.DLL,GetOpenFileNameA
def CommDlgExtendedError(0) ! COMDLG32.DLL,CommDlgExtendedError
proc Opendlg --------------------------------------------------------------------OPEN-Dialog
dim a#,2600 ---------------------------------------------- Puffer + Struktur
clear a#
long a#,0=76--------------------------------------------- Struktur für GetOpenFileName
long a#,28=a#+100---------------------------------------- Beginn Puffer
long a#,32=2500------------------------------------------ Puffer 2500 Bytes
a$=Textdateien;chr$(0);*.txt;;chr$(0);--------------- DateiFilter 1
a$=a$;Alle Dateien;chr$(0);*.*;;chr$(0);------------- DateiFilter 2
a$=a$;chr$(0) ------------------------------------------- 2*0 als Abschluß
a&=addr(a$)+1
long a#,12=a&
b$=Bitte Datei(en) wählen,chr$(0)---------------------- Titel
a&=addr(b$)+1
long a#,48=a&
c$=c:1test+chr$(0)------------------------------------- Anfangspfad
a&=addr(c$)+1
long a#,44=a&
long a#,4=%hwnd------------------------------------------- übergeordnetes Fenster
long a#,52=$00081206-------------------------------------- Flags siehe Winhlp32
GetOpenFileName(a#)
if equ(CommDlgExtendedError(),12291)---------------------- Fehlerabfrage Pufferüberlauf
messagebox(Sie haben zu viele Einträge gewählt.
Verteilen Sie ihre Auswahl auf mehrere kleine Portionen!,Hinweis,48)
endif
rem ------------------------------------------------------------------------------ Auswertung
a%=long(a#,56)-1
a$=string$(a#,100)
if len(a$)=a% ----------------- MehrfachAuswahl
print MehrfachAuswahl
print Pfad :,a$
a%=0
while len(a$) -------------- alle Dateinamen aus Puffer lesen (getrennt durch 0-Byte)
a%=a%+len(a$)+1
a$=string$(a#,100+a%) --- Puffer = Byte 100 bis Byte 2600 in a#
case len(a$):print Datei :,a$
endwhile
else--------------------------- EinzelAuswahl
print EinzelAuswahl
print Gewählt :,a$
endif
dispose a#
endproc---------------------------------------------------------------------------------
opendlg
'./../../funcion-referencias/XProfan/waitkey/'>waitkey
Saludo Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 08.11.2007 ▲ |
|
|
|
|
Jac de Lad | @Dietmar: Gracias. Aber el me está eben a umständlich. Yo denke el podría uno bastante simplemente en Profano einbauen. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.11.2007 ▲ |
|
|
|
|
Frank Abbing | Como Me estoy dando Jac uneingeschränkt bastante. |
|
|
| |
|
|
|
Nico Madysa | Yo habe mich antes längerer Tiempo ya Dietmars Code angenommen, él sieht zwar kompliziert de, du incluso kannst ihn sin embargo fast genauso como el normalen Load-File-Diálogo uso: KompilierenMarcaSeparaciónmehrere Dateien laden
Ergebnis: Teilstrings mit | getrennt
1. Teilstring: 1 = mehrere Dateien; 0 = eine Datei
2. Teilstring: Gemeinsamer Pfad aller Dateien/die einzige Datei
jeder weitere Teilstring: Gewählte Datei
proc LoadFiles
parameters caption$ , mask$ , startdir$
declare a# , usedbytes% , curpos% , curstr$ , erg$
Dim a# , 2600 ------------------------------------------ Puffer + Struktur
clear a# ----------------------------------------------- Glattbügeln des Bereichs
Long a# , 0 = 76 --------------------------------------- Struktur für GetOpenFileName
Long a# , 28 = a# + 100--------------------------------- Beginn Puffer
Long a# , 32 = 2500 ------------------------------------- Puffer 2500 Bytes
mask$ = Translate$(mask$,|,Chr$(0)) + Chr$(0) -------- Dateifilter + Abschließendes Doppel-Nullbyte
Long a# , 12 = Addr(mask$)
caption$ = caption$ + Chr$(0) --------------------------- Titel + Nullbyte
Long a# , 48 = Addr(caption$)
startdir$ = startdir$ + Chr$(0) ------------------------- Anfangspfad
Long a# , 44 = Addr(startdir$)
Long a# , 4 = %hwnd ------------------------------------ übergeordnetes Fenster
Long a# , 52 = $00081206 -------------------------------- Flags siehe Winhlp32
GetOpenFileName(a#)
if CommDlgExtendedError() = 12291 ----------------------- Fehlerabfrage Pufferüberlauf
Messagebox(Sie haben zu viele Einträge gewählt.
Verteilen Sie ihre Auswahl auf mehrere kleine Portionen!,Hinweis,48)
endif
-------------------------------------------------------- Auswertung
usedbytes% = Long(a#,56) - 1
curstr$ = String$(a#,100)
if len(curstr$) = usedbytes% ---------------------------- MehrfachAuswahl
erg$ = 1| + curstr$ + if((Right$(curstr$,1) = \),,\) + |
clear curpos%
while len(curstr$) ----------------------------------- alle Dateinamen aus Puffer lesen (getrennt durch 0-Byte)
curpos% = curpos% + len(curstr$) + 1
curstr$ = string$(a#,100 + curpos%) --------------- Puffer = Byte 100 bis Byte 2600 in a#
erg$ = erg$ + curstr$ + |
wend
erg$ = Left$(erg$,len(erg$) - 2) --------------------- Die letzten beiden | entfernen
else ---------------------------------------------------- Einzelauswahl
erg$ = 0| + curstr$
endif
case (erg$ = 0|) : clear erg$
Dispose a#
return erg$
/../funcion-referencias/XProfan/ENDPROC/'>ENDPROC
|
|
|
| |
|
|
|
Jac de Lad | Yo wünsche con todavía el Möglichkeit propio Fehlernummern a registrieren y el por Función a erzeugen. Dann se en el Falle una selbsterzeugten Fehlers el Errorproc angesprungen y entsprechend gehandelt. Das erleichtert el Fehlersuchen o. Fehlersammeln.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 18.12.2007 ▲ |
|
|
|
|
Frank Abbing | Nico, dein Code enthält kein Claro(a#). Yo bin fast sicher, el neuer Speicher beim Erstellen no zwangsläufig con Nullen gelöscht se, zumindest en älteren Profanversionen. |
|
|
| |
|
|