[Delphi] Wczytwanie tabeli z pliku (z parsowaniem)

Odpowiedz Nowy wątek
2006-12-19 17:42
Avandrel
0

Witam!
Szukam łatwego sposobu na wczytanie z pliku tekstowego (np. do StringGrida) tabeli. Wygląda ona mniej więcej tak:

247.4828150798202 -8.636942505836487E-002 0 0
247.9005188139797 -9.184713661670685E-002 0 0
248.4574202428604 -9.684713184833527E-002 0 0
248.8287063037801 -.1005732491612434 0 0
249.3392177219201 -.1048726141452789 0 0
249.84972914006 -.110636942088604 0 0
250.3138228849602 -.1221337616443634 0 0

Mam problem z różnymi ilościami spacji pomiędzy kolumami, jak również dwoma sposobami zapisu liczb (normalny i naukowy). W podanym fragmencie kolumny z zerami nie mają znaczenia, jednak może się zdażyć tabela z wypełnionymi wszystkimi wierszami. Proszę o jakieś wskazówki.

Pozostało 580 znaków

2006-12-19 18:01
0

Może tak:
Niech tworzy pierwszy wiersz i zapisuje do pierwszej kolumny, aż nie natrafi na spcje. Jeśli tak się stanie to przechodzi do następnego wiersza tabeli i omija znaki które są spacjami, a dalej juz kopiuje po jednym. Jak natrafi na koniec lini to przechodzi do nowego wiersza i pierwszej kolumny.


Pozostało 580 znaków

2006-12-19 18:11
0

zamieniasz wielokrotne spacje na pojedyńcze

while Pos('  ' {dwie spacje}, WczytanaLinia) <> 0 do
  WczytanaLinia := StringReplace(WczytanaLinia, '  ', ' ', [rfReplaceAll, rfIgnoreCase]);

potem dzielisz wczytaną linię wg spacji (np. przy pomocy TStringList i Delimiter + DelimitedText

StrToFloat radzi sobie bez problemu z zapisem naukowym


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-12-19 18:38
kielonek
0

sprawdz tez komponent TClientDataSet

Pozostało 580 znaków

2006-12-20 19:52
Avandrel
0

Bardzo dziękuję za pomoc!

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0