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
82
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
Oho! Sofia Belorf ja "rillimiljönääri-rakas" sai somen liekkeihin: "Optikko vai grillikioskin...?"
"Rillimiljönääri-rakas" on kyllä hyvä titteli!!! Tsemppiä Sofialle rakkauteen ja terkkuja Nikolle ja Stefanille! Lue l252028- 1201200
Pitäisikö valtion lopettaa Terveysjättien tukeminen
Nyt annetaan puoli miljardia veroparatiiseihin ja kavereille, eikö olisi järkevää että valtio tukee vain Julkista puolta1341178Mitä luulet kaivattusi ajattelevan sinusta?
Oletko ollut hänen mielestään reilu, rehellinen ja ymmärtäväinen? Vai oletko hänen mielestään se, joka ei ollut reilu ei91036Sofia ei taida tajuta, että kaikki nauravat hänelle
Sofia feikkaa luksuslokkeilua muttei tajua, että se aiheuttaa lähinnä myötähäpeää ja kaikki nauravat hänelle.145962Yllätyskäänne: Kivitipun huutokauppa rauksesi, myynnissä uudelleen.
Kivitipusta käydään edelleen kauppaa, vaikka alkuperäinen huutokauppamyynti raukesikin. https://ilkkapohjalainen.fi/ta36863- 62767
Mukava nainen on
Hyvännäköinen ja jollain tavalla räväkkä. Katsoin häntä, mutta mietin sinua kuitenkin. Ihan vaikka koko pitäjän kauneimm54760- 142746
Pertikki out
Lopeta nyt Pertikki tuo poliitiikan jauhaminen täällä. Mene jonnekin poliitiikan erikoissivuille ja jankkaa tuota muuall183726