| |
|
|
Normann Strübli | Salut,
habe qui honneur qui Erste Frage ici se mettre trop dürfen
je travaille im Augenblick dem banque de données-System Cheetah [...] et cela ganze funzt aussi fantastisch. qui Dll soutenu den Funktionsaufruf mittels OLE Cordes mais aussi avec Standard zéro-terminierten Cordes. So large si bien...
eh bien voudrais je qui Memofelder nutzen um là binäre données (Bilder) trop Sauver. là dans qui entsprechenden Funktion aucun Bereichsvariable mais seulement qui String transfert wird ist qui maximale länge oui sur 32767 marque begrenzt - cela langt mais pas hin
si je cela richtig verstanden habe sommes OLE-Cordes grob dit dynamische Cordes qui aucun definierte Longueur avons et chaque beliebige marque enthalten peut (verbessert mich s'il te plaît) et pas de Profan soutenu volonté. -alors Pech gehabt...
Eigentlich habe je mir qui Frage avec cela oui déjà selbst beantwortet, ou bien j'ai là quoi übersehen???
malheureusement ist qui banque de données aucun Freeware , mais peut-être hat oui jmd. intérêt qui ganzen Funktionen pour Profan umzusetzen - habe déjà une Include geschrieben qui den Umgang vereinfacht.
maintenant mag sich einer Fragen pourquoi je qui Dll überhaupt benutzte:
1. très petite, stand alone 2. très vite 3. Umfangreiche Suchfunktionen 4. veux mich pas avec SQL beschäftigen
ici nochmal kurz qui Spezifikationen:
Max number of records: 2,147,483,647 Max number of fields: 1000 Max character field size: 256 Max numeric field size: 20 Max memo size: Limited by disk space Max record size: 4000 bytes
Indexes Max open indexes per database: 100 Max fields for compound indexes: 6 Total allowable open indexes: 1000 Queries
Max number of conditions: 50 Max sort expressions: 6 Multiuser
Max number of concurrent users: 255
Salut Normann Strübli |
|
|
| |
|
|
|
Frank Abbing | Hi,
[quote-part:a2dedb3643]eh bien voudrais je qui Memofelder nutzen um là binäre données (Bilder) trop Sauver. là dans qui entsprechenden Funktion aucun Bereichsvariable mais seulement qui String transfert wird ist qui maximale länge oui sur 32767 marque begrenzt - cela langt mais pas hin
si je cela richtig verstanden habe sommes OLE-Cordes grob dit dynamische Cordes qui aucun definierte Longueur avons et chaque beliebige marque enthalten peut (verbessert mich s'il te plaît) et pas de Profan soutenu volonté. -alors Pech gehabt... [/quote-part:a2dedb3643] cela klingt doch alles pour Bereichen. Pourquoi peux du là aucun Bereichsvariable transfert ? Sollte doch toujours marcher... |
|
|
| |
|
|
|
Normann Strübli | Salut,
irgendwie klappt cela alles pas so comment je mir cela denke Daher hab je la fois une neuen kurzen (vraie pas long ) Quellcode geschrieben et mon Include et Headerdatei gezippt drangehängt. qui Hilfedatei de Cheetah ist ebenso dabei comment Beispiele sous Power et VisualBasic.
sommes malheureusement knapp sur 300kB geworden :| qui Registrierung hab je naturellement entfernt daher peux es possible son cela beim Aufruf qui faute #99999 Auftritt (weil testversion abgelaufen). peut-être braucht on qui DLL oui aussi pas et sieht juste wohin je là groben Mist gebaut habe.
Comme je le disais habe anscheinend Probleme cela ganze pour Xprofan umzusetzen - bof qui einfachen Sachen aller oui...
Salut Normann |
|
|
| |
|
|
|
| Hmmm, ist schwer là durchzusehen, ou bien gar cela Ganze durchzusehen. peut-être veux qui DLL pas qui Bereichsvariable, mais seulement qui Adresse qui Bereichsvariable, alors statt bereich# simple addr(bereich#).
peut-être hilfts Dir oui.
, iF |
|
|
| |
|
|
|
Frank Abbing | Hi,
si du den Bereich dimensioniert, addiere la fois 4 en supplément et lösche den Bereich avec CLEAR, bevor du ihn benutzt. Wahrscheinlich fehlt qui zéro am Ende, si du den Bereich comme String dans einer API utilise. |
|
|
| |
|
|
|
Normann Strübli | Seufz :|
merci, mais hat beides malheureusement pas geholfen. comme letzten Anlauf hab je nochmal qui se mettre qui Doku rausgesucht qui, so glaub je de intérêt sommes. Weiter unten ensuite qui Quellcode pour Visual-Basic, comment on données dans Memofelder écrit.
Sieht doch so verdammt simple aus, wieso krieg je cela pas hin?
Ok, cela erste quoi wohl anders son wird ist qui Geschichte avec den Cordes.
ici un kleiner Ausschnitt aus qui Aider:
[quote-part:a91e835882] Cheetah can être interfaced with various different programming langauages. By default, Cheetah supports le Visual Basic and PowerBasic, however other programming languages can être interfaced with relative ease.
The clé to interfacing to le Cheetah DLL is to understand how strings sont handled by your particular programming language. dans general, there sont two different types of strings that most languages support: OLE Cordes, and Nul Terminated Cordes. Some languages support both types tandis que others only support one or le other.
OLE Cordes (or BSTR strings) sont generally used dans programminbg languages that allow for dynamic strings. à example is Visual Basic and PowerBasic.
Nul Terminated Cordes, or ASCIIZ strings, sont a pre-declared array of characters with a terminating nul (CHR$(0)) character at le end of le string. The programming language uses this nul character to mark le end of le string.
dans l'ordre to support both types of strings, Cheetah has implemented each function dans two forms. The regular version of le function supports OLE Cordes tandis que le second version supports Nul Terminated Cordes. The functions that support zéro Terminated Cordes have a trailing _Z appended to their names. For example, le following is le two forms of le xdbCreate function.
OLE Version: Call xdbCreate(DBFname)NUL Version: Call xdbCreate_Z(DBFname) Basically, si your programming language only supports zéro Terminated Cordes then you should always use le _Z version of le Cheetah functions.
[/quote-part:a91e835882] Ok, Profan soutenu seulement zéro-Terminierte Cordes cela sollte cela ganze mais pas viel komplizierter faire. Verwende je arrêt qui Funktion xdbAssignField_Z statt xdbAssignField um un champ trop décrire. chez dem folgenden Beispiel dans VB wird oui mais un String transfert? ou bien doch pas?
là suis je wieder beim Thema OLE-Cordes
Andererseits si je folgendes dans Profan probiere klappt es: KompilierenMarqueSéparation dans diesem le cas steht dans qui Memo-Dossier réellement irgendwo bla bla bla si je mais mittels b$ = @String$(Pdata#, 0) (dans Pdata# ist qui JPG-Dossier lire) versuche qui Binären données qui Dossier ins Memofeld trop écrivons klappt es wieder pas
qui Bildatei ist 35240 Bytes grand womit je wohl aussi cela Problem habe, cela qui Longueur qui Profan-Cordes pas ausreicht...
Am besten jmd kennt sich avec VB aus et peux mir dire comment suivant Quellcode pour Profan umzusetzten ist KompilierenMarqueSéparationAjouter a picture to le memo file depending on which record number
is currently being used.
Select Cas x&
Cas 1
f& = FreeFile
Open "binoc.ico" For Binary As #f&
PictureSt$ = Space$(LOF(f&))
Get #f&, , PictureSt$
Fermer #f&
Cas 2
f& = FreeFile
Open "rabbit.wmf" For Binary As #f&
PictureSt$ = Space$(LOF(f&))
Get #f&, , PictureSt$
Fermer #f&
alors store à AVI clip dans le memo file
f& = FreeFile
Open "FileCopy.avi" For Binary As #f&
AVIst$ = Space$(LOF(f&))
Get #f&, , AVIst$
Fermer #f&
Cas 3
f& = FreeFile
Open "tennis.wmf" For Binary As #f&
PictureSt$ = Space$(LOF(f&))
Get #f&, , PictureSt$
Fermer #f&
Fin Select
Si PictureSt$ > » Then
Call xdbAssignField(cust.dbHandle, », PictureField&, PictureSt$)
PictureSt$ = »
Fin Si
Si AVIst$ > » Then
Call xdbAssignField(cust.dbHandle, », AVIField&, AVIst$)
AVIst$ = »
Fin Si
|
|
|
| |
|
|
|
Normann Strübli | So là suis je wieder chez meinem alten et neuen Problem,
je sais maintenant wohin qui faute liegt! -c'est bien malheureusement hab je maintenant un nouveau Problem! c'est mal!
veux mich la fois kurzfassen:
qui Funktion qui Dll je appel voudrais erwartet comme letzten paramètre qui Adresse des Cordes! qui qui données contient. avec cela gilt (quoi je befürchtet habe) cela qui données pas beliebig long son dürfen (max 32767 marque) et pas beliebige marque enthalten peut.
Aus qui Profan Aider:
[quote-part:3ebb2e12fb] (ACHTUNG: Cordes, qui un Nullbyte enthalten, volonté chez Übergabe à DLL et API seulement jusque diesem transfert. cela gilt aussi pour sur qui API realisierte Funktionen comment GETTEXT$ ou bien SETTEXT. Pour DELPHIaner: Es handelt sich chez den Profan-Cordes à Ansi-Cordes de Delphi.) [/quote-part:3ebb2e12fb] Toll, gaaanz toll! comment soll je alors qui binären données einer z.B. jpg-Dossier à qui Dll übermitteln si bereits pour dem En-tête qui Dossier un Nullbyte folgt???
comme kleines Beispiel nochmal:
qui Aufruf: KompilierenMarqueSéparation avec Textdateien et so klappts oui entier toll, nützt mir mais nix!
Kennt quelqu'un une charme-API qui je pas kenne et mir weiterhilft? Assembler? (kenn je mich *encore* pas bien avec aus -Frank) Hab mich daran déjà so festgebissen le moi nix d'autre plus geschafft habe |
|
|
| |
|
|
|
Michael Wodrich | KompilierenMarqueSéparation cet xdbAssignField_Z utilise, comment cela Z déjà andeutet, nullterminierte Cordes. Gibt es là car aucun Funktion, wohin on qui Adresse des Datenbereiches et dessen Longueur angeben doit?
ensuite ließe sich cela sur une Bereichsvariable lösen. qui Angabe qui Bereichsvariablen dans qui Funktion liefert qui Adresse sur den Bereich. mais sans une expliziete Längenangabe peux qui externe Funktion oui garnicht savons, wohin Schluß ist...
la fois voyons, si je un peu Zeit finde. ensuite lese je mich là la fois hindurch...
MfG Michael Wodrich
quoi wird eigentlich alles nécessaire, um cette Affen de Tarzans Gnaden sur dem eigenen calculateur zum courir trop apporter? |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 07.07.2004 ▲ |
|
|
|
|
| eh bien, du könntest deine Binärdaten aussi dans un Hexdatenkette transformer, um cet via string trop transfert.
qui le tort ist seulement, cela qui données oui c'est ca doppelt aussi grand volonté.
jusqu'à denne, iF |
|
|
| |
|
|
|
Normann Strübli | @Miachael: [quote-part:852fb8c5ee] cet xdbAssignField_Z utilise, comment cela Z déjà andeutet, nullterminierte Cordes. Gibt es là car aucun Funktion, wohin on qui Adresse des Datenbereiches et dessen Longueur angeben doit? [/quote-part:852fb8c5ee] non plan pas! ou bien je suis trop blöd.
[quote-part:852fb8c5ee] quoi wird eigentlich alles nécessaire, um cette Affen de Tarzans Gnaden sur dem eigenen calculateur zum courir trop apporter? [/quote-part:852fb8c5ee] Eigentlich brauchst Du dir seulement qui Demoversion runterladen: (sommes aussi seulement ca. 230kb) [...] et je hab là encore fois le de mir (pas entier komplett) umgeschriebene Inlude bzw. Headerdatei angehängt.
Hab oui est es soll wieder gaaanz schlechtes Wetter venons et là sais on oui toujours pas so richtig quoi on faire soll... avec anderen Worten: wäre gentil si Du qui Zeit trouver würdest.
@IF:
veux mais pas!
Salut Normann |
|
|
| |
|
|
|
Michael Wodrich | Tarzan hat seinen Affen pour einem Leoparden (ou bien Geparden?) benannt?
Nunja:
Außer dans qui Lobhudelei qui DLL wird cela Memofeld nirgendwo wirklich avec aussi seulement einem einzigen mot ou bien einem Beispiel gewürdigt.
c'est pourquoi mon Tipp: vais là ins Forum et frage la fois entier hypocrite pour einem funktionsfähigen Beispiel pour cela magasin eines Bildes dans un Memofeld.
je fürchte nämlich, qui on sich qui Unterstützung de Memofeldern pour une plus tard Version aufgehoben hat.
MfG Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 08.07.2004 ▲ |
|
|
|
|
Normann Strübli | oui, droite la hâte Du dans qui Aider steht par-dessus préoccupé wenig. mais cela avec den Memofeldern funktioniert DEFINITIV! Sonst hätte je mich pas zum Affen gemacht et cela partie gekauft
sur qui concept avec dem Forum suis je naturellement aussi déjà gekommen, hab sogar ne Mail direct à den Soutien envoyé et qui verweisen sur qui Beispiele dans VB usw. Im Unterverzeichnis VisualBasicBlobsamplefrmMainForm.frm ist z.B. so un Beispiel (là allez cela sogar avec mehren Memofeldern pro Datensatz!)
et je peux oui aussi quoi dans den Memofeldern Sauver seulement malheureusement arrêt plan Text. Thorsten [...] hat oui aussi la fois une Dll gebastelt EasyDB.dll qui aussi wirklich pas mal ist, seulement malheureusement avec avec Bildern dans qui Größenordnung de 12000 Stück quelque chose trop lente.
alors hab je mon argent wohl quand même malheureusement dans den le sable gesetzt, weil oui c'est ca cela quoi je am dringensten besoin avec Xprofan so pas trop realisieren scheint. mais peut-être peux Du dir cela Beispiel oui encore la fois angucken la hâte es oui eh avec runtergeladen
Salut Normann |
|
|
| |
|
|