| |
|
|
Normann Strübli | ¡Hola,
habe el Ehre el Erste Cuestión hier stellen a dürfen
Yo arbeite en el Augenblick el Datenbank-Sistema Cheetah [...] y todos funzt auch fantastisch. El Dll unterstützt el Funktionsaufruf mittels OLE Cuerdas aber auch con Standard null-terminierten Cuerdas. So weit tan bueno...
Nun möchte Yo el Memofelder nutzen en hay binäre Daten (Bilder) a speichern. Como en el entsprechenden Función no Bereichsvariable pero sólo el String transferencia se Es el maximale länge sí en 32767 Signo begrenzt - el langt pero no hin
Wenn Yo el correcto verstanden habe son OLE-Cuerdas grob dijo dynamische Cuerdas el no definierte Longitud haben y cada beliebige Signo enthalten puede (mejorado mich Por favor,) y no de Profano unterstützt voluntad. -also Pech gehabt...
Eigentlich Yo me el Cuestión así sí ya incluso beantwortet, oder Yo como qué übersehen???
Leider Es el Datenbank no Freeware , aber Tal vez ha sí jmd. Interesse el ganzen Características para Profano umzusetzen - habe ya una Incluir geschrieben el el Umgang vereinfacht.
Jetzt mag se uno Fragen ¿Por qué Yo el Dll überhaupt benutzte:
1. Sehr klein, stand alone 2. Sehr rápidamente 3. Umfangreiche Suchfunktionen 4. Will mich no con SQL beschäftigen
hier otra vez kurz el 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 por 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
Saludo Normann Strübli |
|
|
| |
|
|
|
Frank Abbing | Hi,
[quote:a2dedb3643]Nun möchte Yo el Memofelder nutzen en hay binäre Daten (Bilder) a speichern. Como en el entsprechenden Función no Bereichsvariable pero sólo el String transferencia se Es el maximale länge sí en 32767 Signo begrenzt - el langt pero no hin
Wenn Yo el correcto verstanden habe son OLE-Cuerdas grob dijo dynamische Cuerdas el no definierte Longitud haben y cada beliebige Signo enthalten puede (mejorado mich Por favor,) y no de Profano unterstützt voluntad. -also Pech gehabt... [/quote:a2dedb3643] Das klingt doch alles después de Bereichen. ¿Por qué kannst du hay no Bereichsvariable transferencia ? En caso de siempre trabajo... |
|
|
| |
|
|
|
Normann Strübli | ¡Hola,
irgendwie klappt el alles no como Yo el denke Daher tener Yo veces a la neuen kurzen (echt no lang ) Quellcode geschrieben y mi Incluir y Headerdatei gezippt drangehängt. El Hilfedatei de Cheetah es ebenso esta como Beispiele bajo Power y VisualBasic.
Sind desafortunadamente knapp encima 300kB geworden :| El Registrierung tener Yo natürlich lejos por lo tanto kann lo posible ser el beim Aufruf el Fehler #99999 Auftritt (porque testversion abgelaufen). Tal vez braucht uno el DLL en efecto no y sieht igual wo Yo como groben Mist gebaut habe.
Como ya he dicho habe anscheinend Problemas todos para Xprofan umzusetzen - naja el einfachen Sachen ir sí...
Saludo Normann |
|
|
| |
|
|
|
| Hmmm, es schwer como durchzusehen, oder gar el Ganze durchzusehen. Tal vez voluntad el DLL no el Bereichsvariable, pero sólo el Adresse el Bereichsvariable, also en lugar de bereich# simplemente addr(bereich#).
Tal vez hilfts Usted sí.
, IF |
|
|
| |
|
|
|
Frank Abbing | Hi,
si du el Zona dimensioniert, addiere veces 4 dazu y lösche el Zona con CLEAR, bevor du ihn benutzt. Wahrscheinlich fehlt el Null al Ende, si du el Zona como String en uno API nutzt. |
|
|
| |
|
|
|
Normann Strübli | Seufz :|
danke, aber ha beides por desgracia, no geholfen. Als letzten Anlauf tener Yo otra vez el Stellen el Doku rausgesucht el, así glaub Yo de interesse son. Weiter unten entonces el Quellcode para Visual-Basic, cómo Daten en Memofelder schreibt.
Sieht doch así verdammt simplemente de, wieso krieg Yo el no hin?
Ok, el erste qué wohl anders ser se Es el Geschichte con el Cuerdas.
Hier una kleiner Ausschnitt de el Ayuda:
[quote:a91e835882] Cheetah can be interfaced with various different programming langauages. By default, Cheetah supports the Visual Basic and PowerBasic, however other programming languages can be interfaced with relative ease.
The key to interfacing to the Cheetah DLL is to understand how strings are handled by your particular programming language. In general, there are two different types of strings that most languages support: OLE Cuerdas, and Nul Terminated Cuerdas. Some languages support both types mientras que others only support one or the other.
OLE Cuerdas (or BSTR strings) are generally used en programminbg languages that allow for dynamic strings. An example is Visual Basic and PowerBasic.
Nul Terminated Cuerdas, or ASCIIZ strings, are a pre-declared array of characters with a terminating nul (CHR$(0)) character at the end of the cadena. The programming language uses this nul character to mark the end of the cadena.
In order to support both types of strings, Cheetah has implemented each function en two forms. The regular version of the function supports OLE Cuerdas mientras que the second version supports Nul Terminated Cuerdas. The functions that support Null Terminated Cuerdas have a trailing _Z appended to their names. For example, the following is the two forms of the xdbCreate function.
OLE Versión: Call xdbCreate(DBFname)NUL Versión: Call xdbCreate_Z(DBFname) Basically, if your programming language only supports Null Terminated Cuerdas then you should always use the _Z version of the Cheetah functions.
[/quote:a91e835882] Ok, Profano unterstützt sólo Null-Terminierte Cuerdas el debería todos pero no viel komplizierter hacer. Verwende Yo sólo el Función xdbAssignField_Z en lugar de xdbAssignField en una Feld a beschreiben. En el folgenden Ejemplo en VB se sí aber una String transferencia? oder doch no?
Como bin Yo otra vez beim Thema OLE-Cuerdas
Andererseits si yo folgendes en Profano probiere klappt lo: KompilierenMarcaSeparación en diesem Fall es en el Memo-Expediente tatsächlich irgendwo bla bla bla Wenn Yo aber mittels b$ = @String$(Pdata#, 0) (en Pdata# Es el JPG-Expediente eingelesen) versuche el Binären Daten el Expediente en el Memofeld a escribir klappt lo otra vez no
El Bildatei es 35240 Bytes groß womit Yo wohl auch el problema habe, el el Longitud el Profano-Cuerdas no ausreicht...
Am besten jmd sabe se con VB de y kann me sagen como folgender Quellcode para Profano umzusetzten es KompilierenMarcaSeparaciónAdd a picture to the memo file depending on which record number
is currently being used.
Select Case x&
Case 1
f& = FreeFile
Open "binoc.ico" For Binary As #f&
PictureSt$ = Espacio$(LOF(f&))
Get #f&, , PictureSt$
Cerrar #f&
Case 2
f& = FreeFile
Open "rabbit.wmf" For Binary As #f&
PictureSt$ = Espacio$(LOF(f&))
Get #f&, , PictureSt$
Cerrar #f&
also store a AVI clip en the memo file
f& = FreeFile
Open "FileCopy.avi" For Binary As #f&
AVIst$ = Espacio$(LOF(f&))
Get #f&, , AVIst$
Cerrar #f&
Case 3
f& = FreeFile
Open "tennis.wmf" For Binary As #f&
PictureSt$ = Espacio$(LOF(f&))
Get #f&, , PictureSt$
Cerrar #f&
End Select
If PictureSt$ > "" Then
Call xdbAssignField(cust.dbHandle, "", PictureField&, PictureSt$)
PictureSt$ = ""
End If
If AVIst$ > "" Then
Call xdbAssignField(cust.dbHandle, "", AVIField&, AVIst$)
AVIst$ = ""
End If
|
|
|
| |
|
|
|
Normann Strübli | So como bin Yo otra vez en mi alten y neuen Problema,
Yo weiß ahora wo el Fehler liegt! -el es bien desafortunadamente tener Yo ahora una nuevo problema! el es schlecht!
voluntad mich veces kurzfassen:
El Función el Dll Yo aufrufen möchte esperado como letzten Parámetro el Adresse des Cuerdas! el el Daten enthält. Damit gilt (Yo befürchtet habe) el el Daten no cualquier lang ser dürfen (max 32767 Signo) y no beliebige Signo enthalten puede.
Aus el Profano Ayuda:
[quote:3ebb2e12fb] (ACHTUNG: Cuerdas, el una Nullbyte enthalten, voluntad en Übergabe a DLL y API sólo a a diesem transferencia. Das gilt auch para en API realisierte Características como GETTEXT$ oder SETTEXT. Für DELPHIaner: Lo es se en el Profano-Cuerdas a Ansi-Cuerdas de Delphi.) [/quote:3ebb2e12fb] Toll, gaaanz toll! como se Yo Así que el binären daten uno z.B. jpg-Expediente a el Dll übermitteln si ya después de el Encabezamiento el Expediente una Nullbyte folgt???
Als kleines Ejemplo otra vez:
Der Aufruf: KompilierenMarcaSeparación con Textdateien y así klappts sí bastante toll, nützt me aber nix!
Kennt alguien una Zauber-API el Yo no saber y me weiterhilft? Ensamblador? (kenn Yo mich *todavía* no bien con de -Franco) Hab mich daran ya así festgebissen el Yo nix más mehr geschafft habe |
|
|
| |
|
|
|
Michael Wodrich | KompilierenMarcaSeparación Dieses xdbAssignField_Z nutzt, como el Z ya andeutet, nullterminierte Cuerdas. Gibt lo como porque no Función, wo uno el Adresse des Datenbereiches y dessen Longitud angeben muß?
Dann ließe se el una Bereichsvariable lösen. El Angabe el Bereichsvariablen en el Función liefert el Adresse en el Zona. Aber sin una expliziete Längenangabe kann el externe Función sí garnicht wissen, wo Schluß es...
Tiempo sehen, si Yo una wenig Tiempo finde. Dann lese Yo mich como veces hindurch...
MfG Michael Wodrich
Was se eigentlich alles benötigt, en esta Affen de Tarzans Gnaden en el eigenen Rechner para Laufen a bringen? |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 07.07.2004 ▲ |
|
|
|
|
| Nun, du könntest deine Binärdaten auch en un Hexdatenkette umwandeln, en esta via cadena a transferencia.
Der Nachteil es sólo, el el Daten genau doppelt así groß voluntad.
Bis denne, IF |
|
|
| |
|
|
|
Normann Strübli | @Miachael: [quote:852fb8c5ee] Dieses xdbAssignField_Z nutzt, como el Z ya andeutet, nullterminierte Cuerdas. Gibt lo como porque no Función, wo uno el Adresse des Datenbereiches y dessen Longitud angeben muß? [/quote:852fb8c5ee] Nein eben no! oder Yo bin a blöd.
[quote:852fb8c5ee] Was se eigentlich alles benötigt, en esta Affen de Tarzans Gnaden en el eigenen Rechner para Laufen a bringen? [/quote:852fb8c5ee] Eigentlich Usted necesita dir sólo el Demoversion runterladen: (son auch sólo ca. 230kb) [...] Und Yo tener como una vez más el de me (no bastante komplett) umgeschriebene Inlude o. Headerdatei angehängt.
Hab sí gehört lo se otra vez gaaanz schlechtes Wetter kommen y como weiß uno sí siempre no así correcto qué hacer se... Mit otro Worten: wäre nett si el Tiempo encontrar würdest.
@IF:
Will pero no!
Saludo Normann |
|
|
| |
|
|
|
Michael Wodrich | Tarzan ha seinen Affen una Leoparden (oder Geparden?) benannt?
Nunja:
Außer en el Lobhudelei el DLL se el Memofeld nirgendwo wirklich con auch sólo una einzigen Wort oder una Ejemplo gewürdigt.
Deshalb mein Tipp: gehe hay en el Foro y frage veces bastante scheinheilig una funktionsfähigen Ejemplo para el Laden uno Bildes en una Memofeld.
Yo fürchte nämlich, daß uno el Unterstützung de Memofeldern para una spätere Versión aufgehoben ha.
MfG Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 08.07.2004 ▲ |
|
|
|
|
Normann Strübli | Sí, bastante hast Usted en el Ayuda es darüber bedenklich wenig. Aber el con el Memofeldern funktioniert DEFINITIV! Sonst hätte Yo mich no para Affen gemacht y el Teil gekauft
Auf el Concepto con el Foro bin Yo natürlich auch ya gekommen, tener incluso ne Mail direkt a el Apoyo geschickt y el verweisen en el Beispiele en VB usw. Im Unterverzeichnis VisualBasicBlobsamplefrmMainForm.frm es z.B. así una Ejemplo (como va el incluso con mehren Memofeldern pro Datensatz!)
Und Yo de hecho puede auch qué en el Memofeldern speichern sólo desafortunadamente sólo eben Texto. Thorsten [...] ha en efecto veces una Dll gebastelt EasyDB.dll el auch wirklich no schlecht es, sólo desafortunadamente con con Bildern en el Größenordnung de 12000 Stück algo a langsam.
Also tener Yo mein Geld wohl trotzdem desafortunadamente en el Sand gesetzt, porque genau el Yo al dringensten necesidad con Xprofan así no a realisieren scheint. Aber tal vez kannst Usted dir el Ejemplo sí todavía veces angucken hast lo sí eh con runtergeladen
Saludo Normann |
|
|
| |
|
|