Probleme mit String
-
Hallo
Ich verwende die ISDN Toolbox 3.0 und habe folgende Probleme mit dem
C++Builder 6.0Ich versuche mit der Funktion TBGetConnectedNr( cid,ptr,16)
die Rufnummer des A-Teilnehmers auszuwerten. Leider wird die
erste Ziffer nicht angezeigt.
zB. 69911357771 anstatt 069911357771Funktion:
short TBGetCopnnectedNr(Word cid,CHAR *buf,WORD buf_len)WORD cid Der Kanal, für den die Rufnummer abgefragt werden soll
char *buf Zeiger auf einen String, in den die Rufnummer kopiert werden soll.
Word buf_len Länge des Speicherbereiche, der bei buf übergeben wird. 32 Bytes sind auf jedem Fall ausreichend.char *ptr="keine Info vorhanden";
connr=TBGetConnectedNr(cid,ptr,16);
Edit2->Text=ptr;Vielen Dank für jede Hilfe
Gruß
Helmut
-
Hast du die Funktion TBGetConnectedNr selbst geschrieben? Eine Telefonnummer gibt man doch nicht als Zahl zurück, soll damit etwa gerechnet werden?
Dass die leading zeros abgeschnitten werden kannst du IMO nachträglich nicht verhindern, das muss innerhalb der Funktion abgefangen werden. Üblicherweise sollte die Funktion gleich einen String statt einer Zahl zurückgeben.
-
@Jansen:
ich dachte, dass die Funktion die Telefonnummer in den char* buf schreibt, oder?
Sonst würde doch auch nicht folgender Aufruf getätigt:connr=TBGetConnectedNr(cid,ptr,16); Edit2->Text=ptr;
Ich dachte dass zuerst auch, doch dann habe ich nochmals die Parameter angeschaut und gemerkt, dass der Rückgabewert nicht die Telefonnummer ist.
-
Ahja, das stimmt natürlich. :o
-
Vielleicht ist es ja auch normal, daß diese Funktion die führende '0' einer Vorwahl weglässt. Anstann '0' könnte man ja auch die Länderkennziffer schreiben, '0049' oder '+49' z.B. für Deutschland. Ich würde mal beim Hersteller des Moduls nachfragen.
-
Die Funktion wird von der Toolbox zur Verfügung gestellt. Ich muß dann die
Rufnummer immer in 0049 (internationale Rufnummmer) umändern. Ich werde es nochmals
beim Hersteller versuchen! Vorerst vielen Dank!helmut