CONVERT

Il verbo CONVERT converte una stringa di caratteri ASCII in EBCDIC o una stringa di caratteri EBCDIC in ASCII. La stringa da convertire viene chiamata stringa di origine. La stringa convertita viene chiamata stringa di destinazione.

La struttura seguente descrive il blocco di controllo verbo (VCB) usato 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;  
};  

Members

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.

direction
Parametro fornito. Specifica la direzione della conversione. Per convertire da ASCII a EBCDIC, usare SV_ASCII_TO_EBCDIC. Per convertire da EBCDIC a ASCII, usare SV_EBCDIC_TO_ASCII.

char_set
Parametro fornito. Specifica il set di caratteri da usare 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 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.

source
Parametro fornito. Specifica l'indirizzo del buffer contenente la stringa di caratteri da convertire.

target
Parametro fornito. Specifica l'indirizzo del buffer per 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 restituiti

SV_OK
Codice restituito primario; il 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; una o più caratteri nella stringa di origine non sono stati trovati nella tabella di conversione. Questi caratteri sono stati convertiti in null (0x00). Il verbo è ancora stato 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 è adatto a un segmento o il segmento di destinazione non è stato 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 è valida.

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 è stata specificata dalla variabile di ambiente CSV TBLG.

  • La tabella non era nel formato corretto.

  • Il file specificato dalla variabile CSVTBLG non è stato trovato.

    SV_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Impossibile caricare o terminare un componente obbligatorio durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva essere eseguita. 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 esteso oltre la fine del segmento di dati.

    SV_UNEXPECTED_DOS_ERROR
    Codice restituito primario; si è verificata una delle seguenti condizioni:

  • Il sistema Microsoft Windows ha rilevato un errore durante l'elaborazione del verbo. Il codice restituito dal sistema operativo è stato restituito tramite il codice restituito secondario. Se il problema persiste, contattare l'amministratore di sistema per un'azione correttiva.

  • Un file CSV è stato rilasciato da un ciclo di messaggi richiamato da un'altra applicazione che emette una chiamata alla funzione SendMessage di Windows anziché dalla chiamata di funzione Windows PostMessage più comune. L'elaborazione verbo non può essere eseguita.

  • Un file CSV è stato rilasciato quando SendMessage ha richiamato l'applicazione. È possibile determinare se l'applicazione è stata richiamata con SendMessage usando la chiamata di funzione API Windows InSendMessage .

Commenti

Il tipo Un set di caratteri è costituito da:

  • Lettere maiuscole.

  • Numeri da 0 a 9.

  • Caratteri speciali $, #, @e spazio.

    Questo set di caratteri è supportato da una tabella di conversione di tipo 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 in posizioni finali. Le lettere ASCII minuscole vengono tradotte in lettere EBCDIC maiuscole quando la direzione è ASCII in EBCDIC.

    Il set di caratteri AE di tipo è costituito da:

  • Lettere maiuscole.

  • Lettere minuscole.

  • Numeri 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. Anche se tale conversione verrà 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 16 righe rimanenti 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.

Nota

È possibile usare GET_CP_CONVERT_TABLE per compilare una tabella di conversione scritta dall'utente G in memoria e quindi archiviare la tabella in un file.