Keskusteluforumissa tänne sellaisenaan lähetetty lähdekoodi näyttää ikävältä, kun forumsofta poistaa mielestään merkityksettömät välilyönnit ja tyhjät rivit.
Mutta tässä 2 Delphillä koodattua proseduuria:
procedure AddDots(SL:TStrings); // Lisää jokaisen rivin alkuun merkkijonon '. '
procedure RemoveDots(SL:TStrings); // Poistaa jokaisen rivin alusta merkkijonon '. ', jos ko. merkkijono aloittaa rivin sisällön.
Käyttö hyvin helppoa, esim:
procedure TForm1.bnAddDotsClick(Sender: TObject);
begin
AddDots(Memo1.Lines);
end;
procedure TForm1.bnRemoveDotsClick(Sender: TObject);
begin
RemoveDots(Memo1.Lines);
end;
// em. proseduurit alkavat tästä:
const
cDotStr = '. ';
procedure AddDots(SL:TStrings);
var
i : Integer;
begin
for i := 0 to SL.Count-1 do begin
SL[i] := cDotStr SL[i];
end;
end;
procedure RemoveDots(SL:TStrings);
var
i : Integer;
S : String;
begin
for i := 0 to SL.Count-1 do begin
S := SL[i];
if pos(cDotStr, S) = 1 then begin
system.Delete(S, 1, Length(cDotStr));
SL[i] := S;
end;
end;
end;
Lähdekoodi keskusteluforumissa - pieni työkalu Delphillä
4
210
Vastaukset
- Auttaako_Tämäkään?
Edellä yritin AddDots -proseduuria.
Näköjään ei ollut ihan riittävä toimenpide.
Kokeillaanpa seuraavaa AddDots -proseduuria sen sijasta.
. procedure AddDots2(SL:TStrings);
. var
. i : Integer;
. S : String;
.
. begin
. for i := 0 to SL.Count-1 do begin
. S := SL[i];
. S := StringReplace(S, ' ', ' ', [rfReplaceAll]);
. SL[i] := cDotStr S;
. end;
. end;- Auttaako_Tämäkään
Pieni täydennys:
Ylläolevassa procedure AddDots2(SL:TStrings); -proseduurissa pitäisi olla:
S := StringReplace(S, ' ', '8nbsp;', [rfReplaceAll]);
HUOM: ylläolevassa '8nbsp;' pitäisi olla ' '
eli todennäköisesti näin:
S := StringReplace(S, ' ', ' ', [rfReplaceAll]);
forumsofta siis muokkaa koodia joskus ei-toivotuilla tavoilla. - KoodiForumille !
Auttaako_Tämäkään kirjoitti:
Pieni täydennys:
Ylläolevassa procedure AddDots2(SL:TStrings); -proseduurissa pitäisi olla:
S := StringReplace(S, ' ', '8nbsp;', [rfReplaceAll]);
HUOM: ylläolevassa '8nbsp;' pitäisi olla ' '
eli todennäköisesti näin:
S := StringReplace(S, ' ', ' ', [rfReplaceAll]);
forumsofta siis muokkaa koodia joskus ei-toivotuilla tavoilla.Auttaakohan tämäkään?
Tässä esimerkkikoodia:
procedure Test1;
asm
NOP
end;
Toimiiko sisennykset näin vai eivät ?
Välilyönti =
- No_break space
Sisennykset saa näkymään korvaamalla välilyönnit no-break spacella (ascii 160). Search-replace toimii mainiosti. Erillistä ohjelmaa ei tarvita. Ao. koodiesimerkissä yksi sisennys oli 4 välilyöntiä. Editorissa se tosin taitaa näyttää turhan pitkältä.
procedure RemoveDots(SL:TStrings);
var
i : Integer;
S : String;
begin
for i := 0 to SL.Count-1 do begin
S := SL[i];
if pos(cDotStr, S) = 1 then begin
system.Delete(S, 1, Length(cDotStr));
SL[i] := S;
end;
end;
end;
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 303908
Joensuun kaupunki levittelee tonttitietoja Keskisuomalaiselle
Sähköposteja ja tonttitietoja levitellään mm. Pasi Koivumaalle131869Oletko nainen alkanut kammoamaan minua
Sinua ei näy eikä kuulu, ja ilmeisesti kiertelet tilanteita. Oletko huomannut, että olet vieläkin ajatuksissani luvattom631334Saako 60 v vielä töitä? Arto Nyberg puhuu suoraan elämästä ilman töitä
Arto Nyberg täyttää tänään 60 v. Onnea! Nyberg totuttiin näkemään suoran haastatteluohjelman kapteenina vuodesta toise951276Toivoisitko Rakas vielä?
Haluaisitko vielä? Uskoisin osaavani näyttää sinulle, kuinka ainutlaatuinen nainen olet.671146Tiesitkö tätä ex-miehistä? Noriko Salo jysäytti yllätyspaljastuksen
Noriko Salo ja ex-F1 kuski Mika Salo olivat naimisissa v. 1999-2022. Kirsi Salon ex-mies puolestaan on muusikko Sammy A5991- 47921
Keskustelua kasteesta
You tubessa kaksi pappia keskustelivat kasteesta ja kritisoivat raamatullista uskovien kastetta. Toinen heistä yritti356878Ihan pieni näkeminen vaan
👋 ja minä olisin valmis jo vaikka mihin sun kanssa. Nämä on näitä.. 🤫🫣😘💥26861En haluaisi kaiken kuihtuvan pois
ilman, että olemme voineet jutella rauhassa kasvotusten... Mutta mistä ihmeestä löydän sinut?39861