välilyönti/tab-merkit

Miten merkkijonosta poistetaan välilyönti /tab merkit
8168
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

hexdump -C tiedosto_jossa_merkkejä_välilyöntejä_ja_tab_merkkejä.txt

Äänestä

Function IlmanTabia(s : String) : String;
var t : String;
Begin
t:='';
for i:=1 to length(s) do if mid(s, i, 1)<>char(9) t:=mid(s, i, 1) end;
IlmaTabia : t;
End;

Äänestä
  • t:=t mid(s, i, 1)

    Äänestä

  • IlmaTabia : =t;

    Äänestä

  • Tarkoitit siis tälläistä:

    function IlmanTabia(s : String) : String;
    var
    t : String;
    i : integer;
    begin
    t := '';
    for i := 1 to length(s) do
    if AnsiMidStr(s, i, 1) <> #9 then t := t AnsiMidStr( s, i, 1 );
    result := t;
    end;

    // AnsiMidStr löytyy StrUtils käännösyksiköstä
    http://www.freepascal.org/docs-html/rtl/strutils/ansimidstr.html

    Äänestä

  • AnsiMidStr on hidas, onko tuo jotain Visual Basic -tyyliä.

    Function deltab(s: string) : string;
    var c: char;
    Begin
    result := '';
    for c in s do if c <> #9 then result := result c;
    End;

    tai

    Function deltab2(s: string) : string;
    var i: integer;
    Begin
    result := '';
    for i to length(s) do if s[i] <> #9 then result := result s[i];
    End;

    tahi

    Function deltab3(s: string) : string;
    var i: integer;
    Begin
    repeat
    i:= pos(#9, s);
    if i= 0 then break;
    delete(s, i, 1);
    until false;
    result := s;
    End;

    Äänestä

Tässäkin itse asiassa nähdään, kuinka ohjelmoijaa yritetään viedä pascal:ssa oikeaan suuntaan, eli käyttämään erillisiä esitysmuotoa ja datan käsittelymuotoa. Merkkijonojen skannaaminen edes takas kun on hidasta. Oikea tapa on pitää tabuloinnit taulussa ja ihan perustyyppeinä. Sitten vasta tehdä esitystapamuunnos kun tietoa pitää jossakin muodossa käyttäjälle näyttää.

Äänestä

Kommentoi aloitusta


kyysyy kirjoitti:

Miten merkkijonosta poistetaan välilyönti /tab merkit

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu