Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

c-Programm in Freebasic umwandeln.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 04.07.2013, 21:50    Titel: c-Programm in Freebasic umwandeln. Antworten mit Zitat

Hallo, guten Tag.
Ich habe hier ein C-Programm um Buchstaben umzuwandeln.
Wie kann man das bitte in Freebasic umstellen ?
Wie kann man die Tabellen in Freebasic darstellen um die Werte aufzurufen?

Danke.

Gruss
peter
Code:

/*  petcom version 1.00 by Craig Bruce, 18-May-1995
**
**  Convert from PETSCII to ASCII, or vice-versa.
*/

#include <stdio.h>

int     main( int argc, char *argv[] );
void    PetToAsc( FILE *fin, FILE *fout );
void    AscToPet( FILE *fin, FILE *fout );

unsigned char petToAscTable[256] = {
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x14,0x09,0x0d,0x11,0x93,0x0a,0x0e,0x0f,
0x10,0x0b,0x12,0x13,0x08,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
0x40,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x5b,0x5c,0x5d,0x5e,0x5f,
0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x90,0x91,0x92,0x0c,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
0x60,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x7b,0x7c,0x7d,0x7e,0x7f,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf
};

unsigned char ascToPetTable[256] = {
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x14,0x20,0x0d,0x11,0x93,0x0a,0x0e,0x0f,
0x10,0x0b,0x12,0x13,0x08,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
0x40,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0x5b,0x5c,0x5d,0x5e,0x5f,
0xc0,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0xdb,0xdc,0xdd,0xde,0xdf,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x90,0x91,0x92,0x0c,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
};

/****************************************************************************/
int main( int argc, char *argv[] )
{
    int     i;
    FILE   *fin;
    int     filenameUsed, toAscFlag;

    toAscFlag = 1;
    filenameUsed = 0;
    for (i=1; i<argc; i++) {
        if (argv[i][0] == '-') {
            toAscFlag = 0;
        } else {
            if ( (fin=fopen(argv[i],"rb")) == NULL ) {
                printf("%s: error opening file \"%s\"!\n", argv[0], argv[i]);
            } else {
                if (toAscFlag) {
                    PetToAsc( fin, stdout );
                } else {
                    AscToPet( fin, stdout );
                }
                fclose( fin );
            }
            filenameUsed = 1;
        }
    }
    if (!filenameUsed) {
        if (toAscFlag) {
            PetToAsc( stdin, stdout );
        } else {
            AscToPet( stdin, stdout );
        }
    }
    return( 0 );[code]
}

/****************************************************************************/
void PetToAsc( FILE *fin, FILE *fout )
{
    int     c;

    while( (c=getc(fin)) != EOF ) {
        putc( petToAscTabl[/code]e[c], fout );
    }
}

/****************************************************************************/
void AscToPet( FILE *fin, FILE *fout )
{
    int     c;

    while( (c=getc(fin)) != EOF ) {
        putc( ascToPetTable[c], fout );
    }
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 04.07.2013, 23:39    Titel: Antworten mit Zitat

Code:
dim shared petToAscTable(256) as UByte = {_
&H00,&H01,&H02,&H03,&H04,&H05,&H06,&H07,&H14,&H09,&H0d,&H11,&H93,&H0a,&H0e,&H0f,_
&H10,&H0b,&H12,&H13,&H08,&H15,&H16,&H17,&H18,&H19,&H1a,&H1b,&H1c,&H1d,&H1e,&H1f,_
&H20,&H21,&H22,&H23,&H24,&H25,&H26,&H27,&H28,&H29,&H2a,&H2b,&H2c,&H2d,&H2e,&H2f,_
&H30,&H31,&H32,&H33,&H34,&H35,&H36,&H37,&H38,&H39,&H3a,&H3b,&H3c,&H3d,&H3e,&H3f,_
&H40,&H61,&H62,&H63,&H64,&H65,&H66,&H67,&H68,&H69,&H6a,&H6b,&H6c,&H6d,&H6e,&H6f,_
&H70,&H71,&H72,&H73,&H74,&H75,&H76,&H77,&H78,&H79,&H7a,&H5b,&H5c,&H5d,&H5e,&H5f,_
&Hc0,&Hc1,&Hc2,&Hc3,&Hc4,&Hc5,&Hc6,&Hc7,&Hc8,&Hc9,&Hca,&Hcb,&Hcc,&Hcd,&Hce,&Hcf,_
&Hd0,&Hd1,&Hd2,&Hd3,&Hd4,&Hd5,&Hd6,&Hd7,&Hd8,&Hd9,&Hda,&Hdb,&Hdc,&Hdd,&Hde,&Hdf,_
&H80,&H81,&H82,&H83,&H84,&H85,&H86,&H87,&H88,&H89,&H8a,&H8b,&H8c,&H8d,&H8e,&H8f,_
&H90,&H91,&H92,&H0c,&H94,&H95,&H96,&H97,&H98,&H99,&H9a,&H9b,&H9c,&H9d,&H9e,&H9f,_
&Ha0,&Ha1,&Ha2,&Ha3,&Ha4,&Ha5,&Ha6,&Ha7,&Ha8,&Ha9,&Haa,&Hab,&Hac,&Had,&Hae,&Haf,_
&Hb0,&Hb1,&Hb2,&Hb3,&Hb4,&Hb5,&Hb6,&Hb7,&Hb8,&Hb9,&Hba,&Hbb,&Hbc,&Hbd,&Hbe,&Hbf,_
&H60,&H41,&H42,&H43,&H44,&H45,&H46,&H47,&H48,&H49,&H4a,&H4b,&H4c,&H4d,&H4e,&H4f,_
&H50,&H51,&H52,&H53,&H54,&H55,&H56,&H57,&H58,&H59,&H5a,&H7b,&H7c,&H7d,&H7e,&H7f,_
&Ha0,&Ha1,&Ha2,&Ha3,&Ha4,&Ha5,&Ha6,&Ha7,&Ha8,&Ha9,&Haa,&Hab,&Hac,&Had,&Hae,&Haf,_
&Hb0,&Hb1,&Hb2,&Hb3,&Hb4,&Hb5,&Hb6,&Hb7,&Hb8,&Hb9,&Hba,&Hbb,&Hbc,&Hbd,&Hbe,&Hbf _
}

dim shared ascToPetTable(256) as UByte = {_
&H00,&H01,&H02,&H03,&H04,&H05,&H06,&H07,&H14,&H20,&H0d,&H11,&H93,&H0a,&H0e,&H0f,_
&H10,&H0b,&H12,&H13,&H08,&H15,&H16,&H17,&H18,&H19,&H1a,&H1b,&H1c,&H1d,&H1e,&H1f,_
&H20,&H21,&H22,&H23,&H24,&H25,&H26,&H27,&H28,&H29,&H2a,&H2b,&H2c,&H2d,&H2e,&H2f,_
&H30,&H31,&H32,&H33,&H34,&H35,&H36,&H37,&H38,&H39,&H3a,&H3b,&H3c,&H3d,&H3e,&H3f,_
&H40,&Hc1,&Hc2,&Hc3,&Hc4,&Hc5,&Hc6,&Hc7,&Hc8,&Hc9,&Hca,&Hcb,&Hcc,&Hcd,&Hce,&Hcf,_
&Hd0,&Hd1,&Hd2,&Hd3,&Hd4,&Hd5,&Hd6,&Hd7,&Hd8,&Hd9,&Hda,&H5b,&H5c,&H5d,&H5e,&H5f,_
&Hc0,&H41,&H42,&H43,&H44,&H45,&H46,&H47,&H48,&H49,&H4a,&H4b,&H4c,&H4d,&H4e,&H4f,_
&H50,&H51,&H52,&H53,&H54,&H55,&H56,&H57,&H58,&H59,&H5a,&Hdb,&Hdc,&Hdd,&Hde,&Hdf,_
&H80,&H81,&H82,&H83,&H84,&H85,&H86,&H87,&H88,&H89,&H8a,&H8b,&H8c,&H8d,&H8e,&H8f,_
&H90,&H91,&H92,&H0c,&H94,&H95,&H96,&H97,&H98,&H99,&H9a,&H9b,&H9c,&H9d,&H9e,&H9f,_
&Ha0,&Ha1,&Ha2,&Ha3,&Ha4,&Ha5,&Ha6,&Ha7,&Ha8,&Ha9,&Haa,&Hab,&Hac,&Had,&Hae,&Haf,_
&Hb0,&Hb1,&Hb2,&Hb3,&Hb4,&Hb5,&Hb6,&Hb7,&Hb8,&Hb9,&Hba,&Hbb,&Hbc,&Hbd,&Hbe,&Hbf,_
&H60,&H61,&H62,&H63,&H64,&H65,&H66,&H67,&H68,&H69,&H6a,&H6b,&H6c,&H6d,&H6e,&H6f,_
&H70,&H71,&H72,&H73,&H74,&H75,&H76,&H77,&H78,&H79,&H7a,&H7b,&H7c,&H7d,&H7e,&H7f,_
&He0,&He1,&He2,&He3,&He4,&He5,&He6,&He7,&He8,&He9,&Hea,&Heb,&Hec,&Hed,&Hee,&Hef,_
&Hf0,&Hf1,&Hf2,&Hf3,&Hf4,&Hf5,&Hf6,&Hf7,&Hf8,&Hf9,&Hfa,&Hfb,&Hfc,&Hfd,&Hfe,&Hff _
}


Function pet2asc(V_Text as String) as String
If V_Text = "" Then Return ""
Dim O as String = Space(Len(V_Text))
For X as UInteger = 0 to Len(V_Text) - 1
   O[X] = petToAscTable(V_Text[X])
Next
Return O
End Function


Function asc2pet(V_Text as String) as String
If V_Text = "" Then Return ""
Dim O as String = Space(Len(V_Text))
For X as UInteger = 0 to Len(V_Text) - 1
   O[X] = ascToPetTable(V_Text[X])
Next
Return O
End Function


print asc2pet(pet2asc("test"))



MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 05.07.2013, 08:57    Titel: Antworten mit Zitat

Hallo, vielen dank.
Das mit dem "C" sieht ja immer so wüst aus, als wenn man es schwer lösen könnte. Dieses Freebasic hat ja viele tolle Eigenschaften.

Was ist denn eigentlich für ein Unterschied bei : PET, ASC und ASCII ?
Wenn ich Text habe wie bei dir "test" ist das asc oder ascii ?
Kann man auch ascii in pet umwandeln ?

Danke.

Gruss
peter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 05.07.2013, 10:05    Titel: Re: c-Programm in Freebasic umwandeln. Antworten mit Zitat

arduno hat Folgendes geschrieben:

Code:

/*  petcom version 1.00 by Craig Bruce, 18-May-1995
**
**  Convert from PETSCII to ASCII, or vice-versa.
*/
[...]


Ich frag mich zwar wieso du anscheinend einfach x-beliebigen Code in FreeBasic umwandeln willst, von dem du nicht mal weißt was er genau tut; aber wenn du das Kommentar zu Beginn dieses Codes liest, sollte dir hoffentlich klar sein, dass "asc" in diesem Fall nur als abkürzung für "Ascii" verwendet wird. Ebenso "Pet" für "Petscii".

Dazu findet man genügend Infos im Netz. Nimm die Suchmaschine deiner Wahl und du wirst z.B. auf http://en.wikipedia.org/wiki/PETSCII stoßen.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 05.07.2013, 11:21    Titel: Antworten mit Zitat

Jup, danke.

Weil ich den ascii nicht einlesen kann im durex-forth-C64 muss er umgewandelt werden. Wie und warum...., der umgewandelte Text soll nur einfach funktionieren.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz