Np. tak:
StreamA := TFileStream.Create('D:\bitmap.bmp', fmOpenRead);
StreamA.Read(Bufor[0], 1000);
Dane chcesz wczytać do tablicy, zaczynając uzupełnianie bufora od pierwszej jego komórki.
Ogólnie to robisz masę błędów, wynikających z braku rozumienia działania klasy strumienia i w sumie wszystkiego innego – piszesz ten kod na pałę, bez zastanowienia. Nic się nie ładuje, bo nie powinno się ładować.
Pierwsza sprawa – Twój bufor nie ma rozmiaru 1000
bajtów, a 1001
bajtów, bo macierz indeksujesz od 0
do 1000
. Po drugie, używasz zmiennych globalnych, choć wcale nie potrzeba aby były globalnymi, w dodatku dla całego projektu.
Po trzecie, strumień chcesz wykorzystać do odczytu, a przekazujesz enum fmCreate
, który tworzy nowy (pusty) plik w miejscu starego, więc tym samym kasujesz jego pierwotną zawartość i program już nie ma czego odczytywać. Do otwarcia strumienia w trybie odczytu używa się flag fmOpenRead
lub fmOpenReadWrite
.
Po czwarte, próbujesz wczytywać dane po jednym bajcie, co absolutnie nie ma sensu, bo jest rozwiązaniem najwolniejszym ze wszystkich możliwych. Po to klasa strumienia ma metody umożliwiające ładowanie całych bloków, aby jedną instrukcją wczytywać tyle danych, ile się potrzebuje.
Po piąte, każde załadowanie danych ze strumienia powoduje automatyczne przesunięcie kursora (pozycji w strumieniu), dzięki czemu nie trzeba w kółko samemu go przesuwać. Metody Seek
używa się tylko wtedy, gdy bieżąca pozycja kursora jest inna niż ta, na której nam zależy.
I po szóste – jak chcesz sprawdzić czy dane załadowano poprawnie to skorzystaj z jakiegoś narzędzia, choćby okienka watches, zamiast wyrzucać dane na ekran w okienkach do komunikatów. Poza tym wątpię, aby Ci się chciało tysiąc okienek ręcznie zamykać.
I wreszcie po siódme – porzuć ten nastoletni zabytek i albo pobierz darmową wersję Delphi CE (ma pewne ograniczenia, w Twoim przypadku raczej nieistotne), albo darmowego Lazarusa (nie ma żadnych narzuconych ograniczeń). Założę się że albo masz wersję trial swojego Delphi 7, która po miesiącu wygaśnie, albo używasz wersji pirackiej.