Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Ohjema: Dos tulkki

ezuli [05.06.2004 13:50:07]

#

http://www.freewebs.com/ezuli/merkit.exe
Tässä olisi yksinkertainen apuohjelma, joka kääntää windosissa kirjoitetun tekstin Ä,ä,ö ja Ö näkymään
dossissa/komentokehdotteella.

Tein ohjelman tekstiseikkailuja ajatellen, sillä nyt voin/voitte kirjoittaa ohjelman (ainakin .bat ja C) normaalisti ja tulkata lähdekoodin tällä ohjelmalla ja kääntää vasta tulkatun koodin, jolloin äöt näkyy oikein. Sekavan kuuloista, mutta tajuaatte kun kokeilette.

KÄYTTÖOHJE:
Ensin ohjelma kysyy tulkattavan tiedoston. Tiedoston nimessä voi käyttää äöitä ja myös osittaiset polut toimii:
c:\koodit\röinä\peli.bat -> röinä\peli.bat
(jos merkit.exe on c:\koodit kansiossa)

Sitten ohjelmaa kysyy, mihin tiedostoon tulkattu teksti/koodi tallennetaan. HUOM! tiedostot eivät saa olla samoja, muuten se tyhjenee ja koodi/teksti tuhoutuu. Muuten samat säännöt kuin lähdetiedostossa.

Ohjelma osaa itse luoda uuden tallennustiedoston, mutta lähdetiedosto on oltava olemassa.
Ohjelma ei myöskään osaa tehdä tallennusta varten kansiota.

Ohjelma on ensimmäinen C:llä tekemäni oikea ohjelma, joka ei ole tehty minkään esimerkin pohjalta.

Kysymyksiä/kommentteja kaivataan.

Bill Keltanen [05.06.2004 15:35:20]

#

Hmm, miksei voi ladata?

ezuli [05.06.2004 15:38:24]

#

Kopioikaa linkki osoitepalkkiin.
*Mikä selain sulla on? IE:ssä toimii, mutta Firefoxissa ei.

Blaze [05.06.2004 15:50:14]

#

Bill Keltanen kirjoitti:

Hmm, miksei voi ladata?

Palvelin näyttää tarkistavan HTTP_REFERER, kentän, ja jos se ei ole kyseiseltä palvelimelta tai tyhjä, niin palauttaa redirectin tuohon osoitteeseen.

Ratkaisu: älä anna selaimen lähettää palvelimelle HTTP_REFERER -kenttää. Operassa F12 > Ruksi pois enable referrer logging
Tai jos Unix-työkaluja on käytettävissä, niin simppeli 'wget http://www.freewebs.com/ezuli/merkit.exe' hakee tiedoston kiltisti.

tsuriga [05.06.2004 16:18:03]

#

Asian vierestä, mutta Firebirdillä ja -foxilla refererien karsiminen: about:configissa filteriksi "referer" ja siihen ainoaan kohtaan (network.http.sendRefererHeader) 0. 2 = myös kuvissa, 1 = vain klikkauksissa (hätäset suomennokset mozillafoorumeilta). Ohjelmaa en vielä kerennyt testaamaan, mutta kuulostaa lupaavalta.

ezuli [08.06.2004 22:00:52]

#

tsuriga kirjoitti:

Ohjelmaa en vielä kerennyt testaamaan, mutta kuulostaa lupaavalta.

Siis eikö ketään kiinnostanut tuon enempää?
*SNIFF* Olen pettynyt, mutta omaan käyttöön tuon kyllä teinkin.

No annampa lähdekoodin, jos edes se sattuisi ketään kiinnostamaan.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void testaa(char *luku);
void testaa2(char *luku);
int main()
{
      FILE *filu1,*filu2;
      char merkki,temp1[100];
      int i;
      printf("Lähdetiedosto: ");
      gets(temp1);
      for (i=0;i<100;i++) {
      testaa2(&temp1[i]);
      }
      filu1 = fopen(temp1,"r");
      printf("\nKohdetiedosto: ");
      gets(temp1);
      for (i=0;i<100;i++) {
      testaa2(&temp1[i]);
      }
      filu2 = fopen(temp1,"w");
      while (!feof(filu1)){
            merkki = fgetc(filu1);
            testaa(&merkki);
            fputc(merkki,filu2);
      }
      fclose(filu1);
      fclose(filu2);
      system("PAUSE");
      return 0;
}

void testaa(char *luku) {
    switch (*luku) {
            case 'ö':
            *luku = 148;
            break;
            case 'Ö':
            *luku = 153;
            break;
            case 'ä':
            *luku = 132;
            break;
            case 'Ä':
            *luku = 142;
            break;
            case 'ÿ':
            *luku = ' ';
            break;
            default:
            break;
    }
}
void testaa2(char *luku) {
    switch (*luku) {
            case (char)148:
            *luku = 'ö';
            break;
            case (char)153:
            *luku = 'Ö';
            break;
            case (char)132:
            *luku = 'ä';
            break;
            case (char)142:
            *luku = 'Ä';
            break;
            case 'ÿ':
            *luku = ' ';
            break;
            default:
            break;
    }
}

*Oho, tuolla onkin ylimääräisiä roskia, kuten tuo merkki-char.
No, ainakin huomaa, että olen aloittelija.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta