Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 20 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok NapísalOffline : 02.06.2013 13:52

Program data;
uses crt,graph,sysutils;
var stlac,a,b,c,i:integer;
riadok:string;
PS,S:string[30];
Subor: text;
Begin
Assign(Subor, 'text15.txt');
reset(Subor);
ReadLn(Subor, riadok);//potrebujem aby to čo načitalo uložilo do premennej a nevie m ako dalej
val(riadok,i,c); //potrebujem to bez funkcie a proceduri takto nejako
StrToInt := i; //lenže nevim ako dalej
readln(riadok);
writeln('Pocet znakov vo vete je:',length(riadok));
readkey;
close(Subor);
end.

jeto z menu vystrihnute bolo to pod voľbou 4 ale to potom doriešim :D

Potreboval by som poradiť chcem aby načitalo subor z disku a to čo je vnom prehodilo do premennej.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2013 14:17

Ak som teda správne pochopil, máš previesť string na číslo (Integer), ale bez pomoci funkcie val? Alebo tam v tom stringu potrebuješ to číslo aj nejako nájsť? V premennej riadok bude po prečítaní súboru iba číslo, alebo aj iný text?







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 14:34

ja som to na forum našiel ale to bolo cele robene cez funkciu :D
ja len potrebujem aby zo suboru otvorilo ho načitalo načitalo to čo je vnom napr Ahoj a prehodilo to do premennej(integer);
potom aby to vypisalo koľko ma znakov tie udaje vtom :D


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2013 14:38

Ako chceš "Ahoj" prehodiť do premennej typu Integer? Na počet znakov máš funkciu Length tak, ako ju používaš. Je na tebe, či to priradíš do inej premennej, tam problém nevidím.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 14:43

ano presne tak :D ale potrebujem aby to načitalo zo suboru text15.txt ktory je uloženy na disku a vnom su zapisane veci ktore to prehodi do int a potom pomocou length zisti koľko pismen to ma napr :D


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 14:43

načita zo suboru textovu informáciu do premennej,zisti dlžku reťazca,umožni vymazať časť reťazca


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2013 14:51

No dobre, takto:
Premenná typu Integer je číslo. Typicky 4 bajty, ktoré sa interpretujú ako číslo.
Premenná typu char je znak. Typicky 1 bajt, ktorý sa interpretuje ako znak podľa ASCII tabulky.
Premenná typu string je reťazec znakov, v podstate teda pole znakov (premenných typu char)

Dokážeš prečítať súbor a jeho obsah uložiť do premennej typu string? Dokážeš.
Dokážeš zistiť, koľko znakov tento string obsahuje? Dokážeš (funkciou Length)

Zamerajme sa teda na situáciu, že máš obsah súboru v premennej typu string. Čo s tým textom chceš robiť?
Nemôžeš predsa text zmeniť na číslo. To môžeš len v prípade, že obsahuje len znaky číslic (napr "123") a to funkciou val uložíš do premennej typu Integer.

Ak už máš text zo súboru v premennej typu string, tak si s ním môžeš robiť čo chceš. Len stále neviem, čo chceš.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 14:56

BX píše:
No dobre, takto:
Premenná typu Integer je číslo. Typicky 4 bajty, ktoré sa interpretujú ako číslo.
Premenná typu char je znak. Typicky 1 bajt, ktorý sa interpretuje ako znak podľa ASCII tabulky.
Premenná typu string je reťazec znakov, v podstate teda pole znakov (premenných typu char)

Dokážeš prečítať súbor a jeho obsah uložiť do premennej typu string? Dokážeš.
Dokážeš zistiť, koľko znakov tento string obsahuje? Dokážeš (funkciou Length)

Zamerajme sa teda na situáciu, že máš obsah súboru v premennej typu string. Čo s tým textom chceš robiť?
Nemôžeš predsa text zmeniť na číslo. To môžeš len v prípade, že obsahuje len znaky číslic (napr "123") a to funkciou val uložíš do premennej typu Integer.

Ak už máš text zo súboru v premennej typu string, tak si s ním môžeš robiť čo chceš. Len stále neviem, čo chceš.


ten subor ktory to otvori z disku načita do premennej pomocou length zisti jeho dlžku ,
dalej:
Begin
Write ('Zadaj poziciu z ktorej chces vymazat: ');
Readln (b);
Write ('Zadaj pocet znakov ktore chces vymazat: ');
Readln (c);
delete(PS,b,c);
Writeln('Vymazane znaky:',S);
readkey;
goto menu;
end;
Ale mne proste nejde stoho otvoreneho suboru prehodiť t odo premennej vypiše error.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2013 15:16

dany2281995 píše:
Ale mne proste nejde stoho otvoreneho suboru prehodiť t odo premennej vypiše error.

No super, konečne sa niekam dostávame.
Takže pošli kód, ktorý ti chybuje, kde chybuje a napíš aj znenie chyby.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 15:35

program data;
uses crt,sysutils;
var Subor: text;
riadok:string;
i,c:integer;

Begin
Assign(Subor, 'text15.txt');
reset(Subor);
ReadLn(Subor, riadok);
val(riadok,i,c);
StrToInt := i;
readln(riadok);
writeln('Pocet znakov vo vete je:',length(riadok));
readkey;
close(Subor);
end.
tak nejako
Strtoint v subore pascal


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2013 15:48

A prečo chceš vôbec reťazec prevádzať na číslo? Som z toho trochu zmagorený, lebo si písal o reťazci napr "Ahoj" a to na číslo neprevedieš.
Ale aj keby, tak prečo by si chcel používať aj funkciu val aj StrToInt? Obe funkcie ti urobia v podstate to isté (odlišnosti nechajme tak) - prevedú ti reťazec na číslo, ak sa to dá. Inak vyvolajú chybu.
Po vykonaní val(riadok,i,c) máš v premennej i číslo (ak v sa reťazec v premennej riadok previesť na číslo dá)
To isté dostaneš, keĎ vykonáš i := StrToInt(riadok); Tak si vyber jeden spôsob, nie oba naraz.

Tá chyba znamená, že StrToInt je funkcia, tak sa k nej máš aj tak správať.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 15:53

aha :D to som nevedel dik :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 02.06.2013 15:58

a že nejako to nefunguje :D ked t oskompilujem tak mi vyhodi že znakov je 0
a v textovom je zapisany cely riadok.
A za druhe potrebujem ešte že ked otvori ten textovy aby umožnilo vymazať časť zneho
Begin
Write ('Zadaj poziciu z ktorej chces vymazat: ');
Readln (b);
Write ('Zadaj pocet znakov ktore chces vymazat: ');
Readln (c);
delete(PS,b,c);
Writeln('Vymazane znaky:',S);
readkey;
goto menu;


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2013 16:05

Tak v prvom rade, ty asi vôbec nepotrebuješ funkcie ako val, či StrToInt. Ty chceš len zistiť počet znakov, to urobí funkcia Length.
Takže zmaž riadky s val aj StrToInt a počet znakov vypíšeš len ako
Kód:
i := Length(riadok);
writeln('Pocet znakov vo vete je:', i);

Hotovo.

Mazať priamo v súbore sa nedá. Musíš ho otvoriť, uložiť si jeho obsah do premennej typu string (to vieš), tam to zmazať (aj to vieš, pomocou delete) a následne tento upravený text znovu uložiť do súboru.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 03.06.2013 8:47

if stlac = 4 then Begin
clrscr;
textcolor(2);
Assign(Subor, 'text15.txt');
reset(Subor);
while not Eof do Begin
ReadLn(Subor, riadok);
WriteLn(riadok);
PS:= riadok; //skušal som to aj bez toho ale nejde to
writeln('Zadaj poziciu na ktorej chces vymazat:');read(a);
writeln('Zadaj pocet slabik ktore chces vymazat:');read(b);
S := delete (PS,a,b);
Writeln(S);
readkey;
close(Subor);
goto menu;
end;
end;
to je v menu a nejako to nechce is5 :/
nejako by som potreboval to doiešiť kde tam mam chibu


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 03.06.2013 9:28

ak chceš celý súbor načítať do premnnej PS, tak to urobíš takto
Kód:
PS := ''; { na zaciatku prazdny retazec }
While Not Eof Do
Begin
    ReadLn(Subor, riadok);
    PS := PS + riadok;
End;

Až keď máš celý súbor v PS, začni vymazávať.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 03.06.2013 19:26

spracoval som to cele a funguje to Veľmi pekne ti Ďakujem za rady :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.04.10
Prihlásený: 18.02.14
Príspevky: 47
Témy: 2
Príspevok NapísalOffline : 03.06.2013 19:57

Zhruba takto? (cestu k suboru si uprav podla svojich potrieb)
Kód:
Program UPRAV_SUBOR;
uses Crt;
const
{ cesta k nacitavanemu suboru }
  cesta = 'D:\text.txt';
var
{ subor bude textoveho formatu }
  subor: text;
  dlzka,maz_zaciatok,maz_koniec: Longint;
  retazec: string;

BEGIN
  ClrScr;
  WriteLn('Cesta k suboru: ',cesta);
  Assign(subor,cesta);
  Reset(subor);
  while not(eof(subor)) do
    Read(subor,retazec);
  dlzka := Length(retazec);
  WriteLn('Dlzka retazca: ',dlzka);

  repeat
    GoToXY(1,3);
    Write('zadaj (zaciatok,koniec) pozicie mazania: ');
{ 2 hodnoty zadas oddelene mezerou, alebo ENTERom }
    ReadLn(maz_zaciatok,maz_koniec);
{ ako taka podmienka rozsahu mazania v subore }
  until (maz_zaciatok <= maz_koniec);
  WriteLn('mazany text: ',copy(retazec,maz_zaciatok,maz_koniec-maz_zaciatok+1));

{ zmazanie zvolenej casti v texte }
  Delete(retazec,maz_zaciatok,maz_koniec-maz_zaciatok+1);

{ upraveny text ulozeny do povodneho suboru }
  Rewrite(subor);
  Write(subor,retazec);
  Close(subor);
  Write('DONE !!!');

  ReadLn;

END.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 03.06.2013 22:08

wáw dobre ty :D iked som to robil trošk inak ale som rad že mi to funguje :D a spravil som šetko čo som potreboval teraz som pešiel na objekotve programovanie v pascale čiže na Lazarus :D


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 03.06.2013 23:06

Nevieš ani poriadne pracovať s premennými a už ideš na objekty? To nie je úplne dobrý prístup.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Odpovedať na tému [ Príspevkov: 20 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. [PASCAL] Výmena dvoch hodnôt v súbore

v Assembler, C, C++, Pascal, Java

4

601

28.03.2011 20:25

majo30095 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. StrToInt

v Assembler, C, C++, Pascal, Java

10

1355

24.04.2007 17:27

audiotrack Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

384

19.12.2014 13:18

Styracoz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hľadanie v súbore

v PHP, ASP

5

485

13.12.2011 18:26

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php v xml súbore

v PHP, ASP

2

314

28.04.2013 22:26

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler - čísla v súbore

v Assembler, C, C++, Pascal, Java

11

746

18.12.2007 9:17

majo-majo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WordPress zmeny v súbore

v Redakčné systémy

1

851

16.06.2008 19:24

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. škriatok v súbore .htaccess

v HTML, XHTML, XML, CSS

1

752

07.11.2006 6:52

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. počet riadkov v súbore

v PHP, ASP

1

805

29.06.2009 19:40

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odkazy v externom súbore

v HTML, XHTML, XML, CSS

9

567

30.11.2007 18:10

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Riadky v subore.txt

v PHP, ASP

3

440

28.05.2009 9:12

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepis konkretneho riadku v subore

v Assembler, C, C++, Pascal, Java

6

666

21.10.2011 12:57

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Premenovanie tagov v xml súbore

v HTML, XHTML, XML, CSS

10

749

23.10.2018 23:51

SP!DER Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Skupinove odstranenie textu v subore

v Ostatné programy

2

1067

15.05.2006 20:45

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nefunguje js v externom súbore

v JavaScript, VBScript, Ajax

2

355

15.09.2012 19:46

kurtulik1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nespravne farby vo vystupnom PDF subore

v Grafické programy

0

278

20.09.2010 8:49

quark Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra