szybkie wczytanie pliku binarnego do stringgrida

0

kto wie jak wczytać plik niezdefiniowany do stringgrida żeby wczytywanie trwało tak szybko jak w programie hexplorer
0

Pytanie: co chcesz umieścić w pojedynczej komórce grida? Byte, Word, LongWOrd, ShortInt, Float?

0

FileStream, For, Cells[] + F1

0

ewentualnie BlockRead, FileSize, SetLength

0

no tak ale to wszystko trwa zbyt długo z pliku czytam blockread i potem do tstringlist dodaje każdy bajt z tablicy i dopiero potem stringgrid.rows[x].addstrings(tstringlist); ale to też trwa zbyt długo w komórkach jednego stringgrida muszą być bajty w postaci szesnastkowej a w drugim znaki ascii tak jak w hexedytorach

0

będę wdzięczny za odp 9161291

0

ech... wszyscy by chcieli komponenty typu TWord, TWindows, TQuake itp, gotowe algorytmy do wszystkiego zaimplementowane już w każdym języku i tylko napisać sobie z 10 linijek i żeby wszystko działało. Nie dlatego na programowaniu można zarobić (i to nieźle), że coś nie jest już napisane. Jakby dobrze poszukać to praktycznie do wszystkiego mamy jakiś program. Zarobić można dlatego, że jeden napisze to lepiej a drugi gorzej, a ktoś, kto kupuje dany program ma tą świadomość, że jeśli za coś zapłacie na początku to mu się później z nawiązką zwróci.

Dlatego jeśli chcesz stworzyć coś, co będzie używał ktoś poza sobą to trzeba MYŚLEĆ! Trzeba niekonwencjonalnego podejścia, twórczego.

Taki mały hint. Przy rozdzielczości ekranu 1024x768 i rozmiarze komórki 16x16 możesz ich na raz wyświetlić ok. 3000 (na całej formie). Więc po co na raz ładować cały (np.) 5MB plik do SG jeśli i tak na raz możesz wyświetlić tylko 3kB z tego pliku :>

0

no ok ale czy potem przy przesuwaniu scrolbara nadąży wczytywać kolejne partie bajtów wątpie a jak już to scrol się będzie przycinał tak samo z wyszukiwaniem albo czymkolwiek innym

0

jak już pisałem myślenie to klucz do sukcesu ...

to wczytaj najpierw "pierwszą stronę" i pokaż a resztę wczytuj w tle i/lub jak user przesunie scrolla

0

nie jest to rozwiązanie jakiego oczekiwałem jednak jakąś nadzieję daje a w moim przypadku na pewno nie jest tak że chciałbym gotowe komponenty szczerze mówiąc nie lubie używać czegoś czego nie rozumiem dlatego zawsze staram się pisać wszystko samemu od podstaw a w tym przypadku skupiłem się na poszukiwaniu funkcji lub metody która coś takiego umożliwia a taki sposób że wczytywanie w tle może np zawieść jak ktoś wczyta plik i od razu będzie chciał przesunąć a scrolbar nie nadąża z wczytywaniem no ale cóż dzięki za pomoc:]

0

zdradzę ci w sekrecie, zaproponowane rozwiązanie zwane jest przez niektórych buforowaniem odczytu i jest najlepszą metodą ładowania dużych plików, które

  1. długo się ładują
  2. nie mieszczą się w pamięci, albo zajmują zbyt wiele po prostu
    Czy wszystko będzie ładnie chodzić, to już zależy od twojej implementacji. Od siebie dodam, że warto się zaznajomić również z obsługą list podwójnie łączonych, żeby naprawdę dobrze coś takiego zrealizować.
0

Dopiszę: masz dwa bufory. Jeden jest aktualnie wyświetlany, drugi jest w tym czasie tworzony i czeka na wyświetlenie. I tak w kółko.

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