Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
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 : 14.12.2012 8:22

Ahojte.
Mam problem pri spracovani velkeho CSV suboru. Pri jeho importovani to StringGridu (cca 25000 rekordov) je app zatuhnuta a neda sa s nou pracovat. Taktiez nacitavanie tych dat je strasne zdlhave. Nacitavam to standardnou metodou a tam je na 99% kamen urazu. Potreboval by som poradit ako sa takyto problem riesi profi.
Teoriu mam, thready pre jedntlive rekordy(riadky) a medzi tym obsluha jadra. Ale neviem ako to implementovat.

Nasiel metodu nacitania do pamate (TMemoryStream). Bolo by to riesenie? Potom, ale zas treba percitat riadky, to bude oriesok.
1M subor s 25k rekordami do 1-3s! Predpokladam najrychlejsie by to bolo presunom najprv do pamate (MemoryStrem?) a nasledne do tabulky formou threadov, nech je app stale dostupna (reakcia na uzvatelske vstupy).
Do doho MemoryStreamu to vyzera byt u mna rychle, ale uz presun a zobrazenie je zalostne pomale a hlavne
este k tomu pocas spracovavania udajov nepouzitelne.
Ak sa nemylim, ako by vyzerali tie thready? Bolo by to asi na nazdy nacitany riadok jeden thread. Napr. na riadky 1,3,5 ... thread1 a 2,4,6 ... thread2? Ako by to bolo optimalne? Alebo mam scestne myslienky?

cast klasickeho kodu na spracovanie:
Kód:
var
  F1: TextFile;
  Tmp: string;
  riadok,stlpec: Longint;

AssignFile(F1,OpenDialog1.FileName);
  try
    Reset(F1);
    try
      riadok := 1;
      while not EoF(F1) do begin
        ReadLn(F1,Tmp);
        stlpec := 1;
        while Pos(',',Tmp) > 0 do begin
          StringGrid1.Cells[stlpec,riadok] := Copy(Tmp,1,Pos(',',Tmp)-1);
          Delete(Tmp,1,Pos(',',Tmp));
          inc(stlpec);
        end;
        inc(riadok);
        StringGrid1.Refresh
      end;
    finally
      CloseFile(F1);
    end;
  except
    on E:EInOutError do
      case E.ErrorCode of
        2   : ShowMessage('Subor nenajdeny!');
        103 : ShowMessage('Subor neotvoreny!');
      else
        ShowMessage('Neocakavana chyba!');
      end;
  end;


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Zaslanie veľkého súboru

v Ostatné programy

6

879

15.10.2008 23:41

liveman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ulozenie velkeho suboru na web

v Krčma

11

3524

12.01.2009 18:57

mufin Zobrazenie posledných príspevkov

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

v PHP, ASP

2

748

15.10.2009 21:42

neopagan Zobrazenie posledných príspevkov

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

v Delphi, Visual Basic

4

673

27.05.2010 16:34

septerr Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vytvorenie EXE súboru v delphi

v Delphi, Visual Basic

1

583

05.08.2012 12:54

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. odriadkovanie v ShowMessage v delphi + existencia suboru

v Delphi, Visual Basic

4

1046

13.01.2009 11:55

chiwo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. delphi zapis cisla do editu v delphi

v Delphi, Visual Basic

3

1107

11.05.2008 12:02

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Tlač veľkého obrázku ?

v Krčma

10

1119

16.09.2010 21:31

winyx Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. update velkeho mnozstva dat - cyklus?

v PHP, ASP

4

307

02.02.2013 16:36

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spomalenie internetu pri rozbalovani velkeho archivu.

v Operačné systémy Microsoft

1

427

01.05.2011 20:02

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC na zalohu velkeho mnozstva dat

v PC zostavy

2

695

26.06.2015 18:20

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Otvorenie velkeho obrazku s velikostou 268 MB

v Grafické programy

10

516

07.12.2014 15:15

MAREK17 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. c++ sqlite alebo xml pre ukladanie velkeho mnozstva dat

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

5

436

09.07.2018 8:12

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Upload velkeho mnozstva fotiek na Facebook - ako na to?

v Sociálne siete

5

1055

18.03.2011 15:38

Skyro Zobrazenie posledných príspevkov

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

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

4

932

16.10.2009 15:09

johny3212 Zobrazenie posledných príspevkov

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

v Ponuka práce

0

599

28.10.2011 9:13

alwe 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