FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
api et typage LPCSTR a l'aide!!!!!!!!!!
api et typage LPCSTR a l'aide!!!!!!!!!!
Débuté par flavoie, 02 fév. 2006 18:17 - 6 réponses
Connectez-vous…
flavoie
#1
Posté le 02 février 2006 - 18:17
J'ai a utiliser une dll qui me retourne un type LPCSTR (TYPAGE C)
LPSTR = 32-bit poniter to 0-terminated string of 8-bit ainsi charactere
LPCSTR = same as LPSTR but pointed to string cannot be modified
les gens du support me dise qu'il ont contourné le problème de la façon suivante en vb.
J'ai fais ceci en windev
newchaine est un chaîne =Remplace(API("SoftekBarcode.dll","stGetBarString",ii),Caract(0),"")
Info(newchaine,ChaîneRécupère(newchaine,crAdresseASCIIZ))
/// début réponse
Both of these functions return the address of an array of null terminated characters. There is a similar problem in VB when using the DLL, abd it’s fixed by passing the return value through the following function:
Function nullTrim(s As String) As String
' Trim the string to the null character
Dim n As Integer
n = InStr(s, Chr$(0))
If (n > 0) Then
nullTrim = Trim(Left(s, n - 1))
Else
nullTrim = Trim(s)
End If
End Function
So in VB you would call the DLL functions as follows:
strBarcode = nullTrim(stGetBarString(i))
///fin réponse
Signaler
0
0
mkurth
#2
Posté le 02 février 2006 - 18:46
Salut,
Quelle est la question?
Mathieu
Signaler
0
0
flavoie
#3
Posté le 02 février 2006 - 19:08
Comment faire fonctionner le retour de la fonction typer LPCSTR
EN VB ILS ONT FAIT CECI
Both of these functions return the address of an array of null terminated characters. There is a similar problem in VB when using the DLL, abd it’s fixed by passing the return value through the following function:
Function nullTrim(s As String) As String
' Trim the string to the null character
Dim n As Integer
n = InStr(s, Chr$(0))
If (n > 0) Then
nullTrim = Trim(Left(s, n - 1))
Else
nullTrim = Trim(s)
End If
End Function
So in VB you would call the DLL functions as follows:
strBarcode = nullTrim(stGetBarString(i))
Signaler
0
0
mkurth
#4
Posté le 02 février 2006 - 20:22
la fonciton trim en vb éqiuvaut à sansespace() en wd et InStr équivaut à
position()
donc:
fonction nullTrim(s)
i est un entier
i = position(s,caract(0))
si i > 0 alors
s = sansespace(gauche(s,i-1))
sinon
s = sansespace(s)
fin
Mathieu
Signaler
0
0
flavoie
#5
Posté le 02 février 2006 - 21:09
Cette fonction reviens a faire un remplace de caract(0) par rien
s=remplace(s,caract(0),"")
mais rien a faire avec ça. de toute façon le résultat de l'api est un numérique qui devrais pointer a une adresse mémoire. Il semble que cette adresse est terminer par un zéro.
Mon but est de pouvoir avoir le résultat d'un fonction qui est retourner en 32 bit pointer terminer pa 0 de chaine de caractère ainsi
voici ma dernier tentative et résultat avec la trave
newchaine1 est un chaine =API(SoftekBarcode.dll,stGetBarString,ii) 44028884
newchaine est un chaine =Remplace(NEWCHAINE1,Caract(0),") 44028884
newchaine2 est un chaine =ChaîneRécupère(newchaine1,crAdresseASCIIZ) =<EOT>
le résultat devrais être CC-247867
Signaler
0
0
mkurth
#6
Posté le 03 février 2006 - 07:18
As-tu chargé la dll avec ChargeDLL() ?
Signaler
0
0
flavoie
#7
Posté le 03 février 2006 - 16:05
Je ne l'avais pas fais
Merci beaucoup
ça marche maintenant! Youpiiiiii!
a+
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte