| Autor | Správa |
miso93
 Užívateľ
 Založený: 19.07.2008 Príspevky: 7
 | Zaslal: Po 14.12.09 21:08 |   |
caute, pre vas machrov to bude hracka
keby v delphi tato procedura uz nebola zadefinovana a potreboval by som vymysliet, ako ju naprogramovat, aky by mala zdrojovy kod?
resp. procedura delete ma aky zdrojovy kod? (v delphi), za pomoc vopred vdaka |
| |
  |
 |
shiro
 Skúsený užívateľ
 Založený: 12.10.2006 Príspevky: 9658
 | Zaslal: Ut 15.12.09 13:51 |   |
kod bude mat taky, aky si naprogramujes aby ho mala. |
_________________ AMD Phenom II 955 BE 3.2GHz, 4GB RAM DDR3-1333 A-Data, MB Gigabyte MA-770T-UD3P, Kingston SSDNow V 64GB 2.Gen., WD 640GB + WD 1TB, Gigabyte GeForce GTX275 896MB, 2xDVD+-RW NEC 7173, LCD BenQ G2400Wa 24", MS Wireless optical mouse 2.0A, Keyboard Prestigio, Creative SBS 380 2.1 | |
  |
 |
ac.milan
 Administrátor
 Založený: 17.04.2008 Príspevky: 11053 Bydlisko: Myjava Vek: 25
 | Zaslal: Ut 15.12.09 14:00 |   |
naco potrebujes ju programovat znova,ked je uz definovana? zbytocna komplikacia prace |
_________________ PC: Gigabyte GA-M52L-S3 / Athlon II X3 445 @ 3,1GHz / AM1 2x2GB DDR2 800 MHz / (RMA) Gigabyte HD7750 1GB OC@880MHz (RMA) / Seagate 7200.12 500GB / Creative Audigy SE / Fortron GP 350W 80+ / 24" BenQ G2420HDBL / Genius SP-HF1800A
NB: MSI M670X-091SK ( 2x1GB DDR2 667MHz ) | |
     |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Ut 15.12.09 22:29 |   |
Ak by mala mať taký tvar, ako pôvodná funkcia:
| kód: | | procedure Delete ( var Source : string; StartChar : Integer; Count : Integer ) ; |
tak nejako takto by to mohlo vyzerať:
| kód: | var
i: integer;
begin
for i:= (Count + StartString) to length(Source) do
Source[i-Count]:= Soruce[i]; // posunutie reťazca
for i:= (length(Source)-count+1) to length(Source) do
Source[i]:= ''; // vymazanie presahujúcich znakov
end; |
To je celé. |
| |
   |
 |
stopa27
 Užívateľ
 Založený: 19.09.2006 Príspevky: 729 Bydlisko: Ružomberok<->Bratislava (21)
 | Zaslal: Ut 15.12.09 22:33 |   |
skoro presne takto to realne funguje v funkcii delete implementovanej borlandom, len ten druhy cyklus je tam zbytocny, kedze retazec je ukonceny nulovym znakom, tak sa iba na prislusnu poziciu nakopiruje nulovy znak. |
| |
       |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Ut 15.12.09 22:51 |   |
Veď keby tam cyklus nebol, ostanú tam pôvodné znaky:
| kód: | source = 'abcde';
Delete(source, 3, 2); |
správne má byť: 'abe'
bez druhého cyklu by to bolo: 'abede'; |
| |
   |
 |
stopa27
 Užívateľ
 Založený: 19.09.2006 Príspevky: 729 Bydlisko: Ružomberok<->Bratislava (21)
 |
aha, teraz si spominam, ze ked som este robil z pascalom, ze ma to vzdy srdilo.
Pomylilo ma toto : http://www.gymrk.iglu.cz/delphi.png
Zaujimava je praca s retazcami v delphi, ked interna funkcia a zapise nulu, tak je vsetko ok, ked uzivatel, tak to nefunguje  |
| |
       |
 |
|