Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet beolvasni egy...

Hogyan lehet beolvasni egy Excel táblázatot? (Pascal)

Figyelt kérdés

Példa:

János 1994 Szeged

Péter 1990 Budapest

Anna 1978 Győr

Elemér 1998 Pécs

Anna 1988 Hódmezővásárhely


Egy kétdimenziós tömbbe gondoltam, hogy berakom őket, de nem tudom hogyan kéne ezt megtenni. Elég lenne 1 sort, ha leírna valaki, onnan már megy a többi is :)

Nem feltétlenül szükségesek a számok, vehetjük őket szövegeknek is.


Le tudná valaki írni?


köszi.



2013. máj. 7. 19:04
 1/7 iostream ***** válasza:
Ideális esetben az Excelből cvs-ként mented ki, ami a comma separated value rövidítése, azaz vesszővel elválasztott értékek. Beolvasol egy sort, szétcsapod a vesszők mentén, és már kész is.
2013. máj. 7. 19:11
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Köszi, felmerül egy kérdés: hogyan kell szétszedni a vesszők mentén?

Eddig csak soronként olvastam be mindig txt-ből.

2013. máj. 7. 19:50
 3/7 ejbenjaro ***** válasza:
100%
Itt van példa szöveg szétdarabolására: http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
2013. máj. 7. 20:43
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

köszi, de ebből sajnos még nem sokat értek, nem rég kezdtem el tanulni.



program beolv;

type ember=Record

nev:string;

szul:string;

hely:string;

end;

var t:array [1..5] of ember;

var f:text;



begin

assign(f,'Nevek.csv');

reset(f);

while not Eof(f) do begin

readln(f);



end;



close(f);

readln;

end.



eddig jutottam, tudna valaki segíteni tovább?

A tömbben szeretném tárolni az adatokat.

2013. máj. 8. 09:26
 5/7 ejbenjaro ***** válasza:

program beolv;


type


tember=Record

nev:string;

szul:string;

hely:string;

end;


var

t:array [1..5] of tember;

f:text;

sor: string;

x: byte;


begin

x:=0;

assign(f,'Nevek.csv');

reset(f);

while (not Eof(f)) or (x>5) do

begin

inc(x);

readln(f,sor);

t[x].nev:=copy(s,1,pos(',',s));

delete(s,1,pos(',',s)+1);

t[x].szul:=copy(s,1,pos(',',s));

delete(s,1,pos(',',s)+1);

t[x].hely:=s;

end;


close(f);

readln;

end.


Na valami ilyesmi, ha csv fájlból olvasol. Így a vesszők mentén darabolja az adatokat.

2013. máj. 8. 10:35
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

köszi, sokat segítettél, már majdnem jó.

Gondolom az "s" a sor akart lenni, átírtam, most már csak egy hiba van: levágja az első betűket (pl. zeged).

Megpróbálom megoldani :)

2013. máj. 8. 11:10
 7/7 ejbenjaro ***** válasza:
A delete(... soroknál kiveszed a +1-et és nem vágja le.
2013. máj. 8. 11:35
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!