Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il verbo CONVERT converte una stringa di caratteri ASCII in EBCDIC o in una stringa di caratteri EBCDIC in ASCII. La stringa da convertire viene chiamata stringa di origine. La stringa convertita è denominata stringa di destinazione.
La struttura seguente descrive il blocco di controllo verbo (VCB) utilizzato dal verbo CONVERT .
Sintassi
struct convert {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char direction;
unsigned char char_set;
unsigned short len;
unsigned char FAR * source;
unsigned char FAR * target;
};
Membri
Opcode
Parametro fornito. Verbo che identifica il codice dell'operazione SV_CONVERT.
opext
Campo riservato.
reserv2
Campo riservato.
Primary_rc
Parametro restituito. Specifica il codice restituito primario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC rilasciato. Per questo verbo, vedere Codici restituiti per i codici di errore validi.
Secondary_rc
Parametro restituito. Specifica il codice restituito secondario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC rilasciato. Per questo verbo, vedere Codici restituiti per i codici di errore validi.
direzione
Parametro fornito. Specifica la direzione della conversione. Per eseguire la conversione da ASCII a EBCDIC, usare SV_ASCII_TO_EBCDIC. Per eseguire la conversione da EBCDIC a ASCII, usare SV_EBCDIC_TO_ASCII.
char_set
Parametro fornito. Specifica il set di caratteri da utilizzare per convertire la stringa di origine. I valori consentiti includono SV_A (tipo set di caratteri A), SV_AE (set di caratteri AE) e SV_G (set di caratteri G di tipo definito dall'utente).
len
Parametro fornito. Specifica il numero di caratteri da convertire.
Questa lunghezza più l'offset dall'inizio del buffer di origine o di destinazione non deve superare il limite del segmento.
origine
Parametro fornito. Specifica l'indirizzo del buffer contenente la stringa di caratteri da convertire.
target
Parametro fornito. Specifica l'indirizzo del buffer in cui contenere la stringa di caratteri convertita.
Questo buffer può sovrapporsi o coincidere con il buffer a cui punta il parametro di origine . In questo caso, la stringa di dati convertita sovrascrive la stringa di dati di origine.
Codici di ritorno
SV_OK
Codice restituito primario; verbo eseguito correttamente.
SV_PARAMETER_CHECK
Codice restituito primario; il verbo non è stato eseguito a causa di un errore di parametro.
SV_CONVERSION_ERROR
Codice restituito secondario; nella tabella di conversione non sono stati trovati uno o più caratteri nella stringa di origine. Questi caratteri sono stati convertiti in valori Null (0x00). Verbo ancora eseguito.
SV_INVALID_CHARACTER_SET
Codice restituito secondario; il parametro char_set contiene un valore non valido.
SV_INVALID_DATA_SEGMENT
Codice restituito secondario; il buffer di dati contenente la stringa di origine o di destinazione non rientra in un segmento oppure il segmento di destinazione non era un segmento di lettura/scrittura.
SV_INVALID_DIRECTION
Codice restituito secondario; la direzione contiene un valore non valido.
SV_INVALID_FIRST_CHARACTER
Codice restituito secondario; Il primo carattere di un tipo Stringa di origine non è valido.
SV_TABLE_ERROR
Codice restituito secondario; si è verificato uno dei seguenti:
Il file contenente la tabella di conversione G del tipo scritto dall'utente non è stato specificato dalla variabile di ambiente CSVTBLG.
La tabella non era nel formato corretto.
Impossibile trovare il file specificato dalla variabile CSVTBLG.
SV_COMM_SUBSYSTEM_NOT_LOADED
Codice restituito primario; Impossibile caricare o terminare un componente necessario durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva avvenire. Contattare l'amministratore di sistema per un'azione correttiva.SV_INVALID_VERB
Codice restituito primario; Il parametro opcode non corrisponde al codice dell'operazione di alcun verbo. Nessun verbo eseguito.SV_INVALID_VERB_SEGMENT
Codice restituito primario; VCB è stato esteso oltre la fine del segmento di dati.SV_UNEXPECTED_DOS_ERROR
Codice restituito primario; si è verificata una delle condizioni seguenti:Il sistema Microsoft Windows ha rilevato un errore durante l'elaborazione del verbo. Il codice restituito del sistema operativo è stato restituito tramite il codice restituito secondario. Se il problema persiste, contattare l'amministratore di sistema per l'azione correttiva.
Un file CSV è stato emesso da un ciclo di messaggi richiamato da un'altra applicazione che emette una chiamata di funzione SendMessage di Windows, anziché dalla chiamata di funzione PostMessage di Windows più comune. L'elaborazione dei verbi non può essere eseguita.
È stato generato un file CSV quando SendMessage ha richiamato l'applicazione. È possibile determinare se l'applicazione è stata richiamata con SendMessage usando la chiamata di funzione dell'API Windows InSendMessage .
Osservazioni:
Il tipo Un set di caratteri è costituito da:
Lettere maiuscole.
Numerali da 0 a 9.
Caratteri speciali $, #, @e spazio.
Questo set di caratteri è supportato da una tabella di conversione A fornita dal sistema.
Il primo carattere della stringa di origine deve essere una lettera maiuscola o il carattere speciale $, #o @. Gli spazi sono consentiti solo nelle posizioni finali. Le lettere ASCII minuscole vengono convertite in lettere EBCDIC maiuscole quando la direzione è ASCII in EBCDIC.
Il set di caratteri AE di tipo è costituito da:
Lettere maiuscole.
Lettere minuscole.
Numerali da 0 a 9.
Caratteri speciali $, #, @, punto e spazio.
Questo set di caratteri è supportato da una tabella di conversione AE fornita dal sistema.
Il primo carattere della stringa di origine può essere qualsiasi carattere nel set di caratteri, ad eccezione dello spazio. Gli spazi sono consentiti solo nelle posizioni finali.
Durante la conversione, gli spazi vuoti incorporati (inclusi gli spazi vuoti nella prima posizione) vengono convertiti in 0x00. Sebbene tale conversione venga completata, CONVERSION_ERROR viene restituito come codice restituito secondario, a indicare che la libreria CSV ha completato una conversione irreversibile sui dati forniti.
Per Windows una descrizione di COMTBLG deve puntare al Registro di sistema di Windows in \SnaBase\Parameters\Client.
I dati per una tabella di conversione G di tipo devono essere lunghi per un file ASCII di 32 righe. Ogni riga deve essere costituita da 32 cifre esadecimali, che rappresentano 16 caratteri e terminare con un ritorno a capo e un avanzamento riga. Le prime 16 righe (256 caratteri) specificano i caratteri EBCDIC in cui vengono convertiti i caratteri ASCII; le restanti 16 righe specificano i caratteri ASCII in cui vengono convertiti i caratteri EBCDIC.
Le cifre esadecimali da A a F possono essere maiuscole o minuscole. Tuttavia, è possibile creare queste cifre maiuscole per garantire la compatibilità con IBM ES per OS/2 versione 1.0.
Annotazioni
È possibile usare GET_CP_CONVERT_TABLE per compilare una tabella di conversione scritta dall'utente di tipo G in memoria e quindi archiviare la tabella in un file.