[#1] Kilka różnych pytań
1. Czy jest jakiś sposób na to aby funkcja ScrollRaster() nie niszczyła zawartości ekranu? Napisałem procedurę która otwiera ekran, a na nim okno i wrysowuję obrazek funkcją DrawImage do rastportu okna. Tyle że obrazek zostaje ucięty kiedy przeskroluję go poza krawędź okna.

2. Kolejna rzecz to wczytywanie plików do pamięci. Poniższy program (fragment) działa i jest poprawny (oby) ale przeglądając różne kody źródłowe zauwazyłem że stosuje się dodatkowo inną funkcję, chodzi o AllocDosObject(). Do czego służy ta funkcja? Czy jest konieczna?
IF (file:=Open('ob.raw',MODE_OLDFILE))<>0
  IF (lock:=Lock('ob.raw',ACCESS_READ))<>0
		IF (exam:=Examine(lock,fib))<>0
			len:=fib.size
			IF (mem:=AllocMem(len,MEMF_CHIP))<>0
				IF (wynik:=Read(file,mem,len))<>-1
					WriteF('all OK\n')
				ELSE
					WriteF('ZLE wynik=\d\n',wynik)
				ENDIF
				FreeMem(mem,len)
			ELSE
				WriteF('mem BLAD\n')
			ENDIF
		ELSE
			WriteF('exam BLAD\n')
		ENDIF
		UnLock(lock)
	ELSE
		WriteF('lock BLAD\n')
	ENDIF
	Close(file)
ELSE
	WriteF('file BLAD\n')
ENDIF


3. Czym różnią się ekrany stworzone za pomocą bibliotek intuition i graphics? W czym lepsze/gorsze są ekrany z graphics, i po co się je stosuje? Głównie chodzi mi o jak najszersze wiadomości nt ekranów biblioteki graficznej, co prawda mam książkę graphics&layers ale tam jest tylko sucha wiedza o tym jak używać procedur. Domyślam się że ekrany graphics są szybsze bo korzystają bezpośrednio z układów Amigi, przez co są niesystemowe i np. nie będą działać na karcie graficznej. Chociaż z drugiej strony widziałem np. gry napisane w intuition i miały bardzo płynną grafikę...
[#2] Re: Kilka różnych pytań

@forge, post #1

1. Jest. Ogrom lektury do poczytania począwszy od odświeżania po typy okien (superbitmap). Zobaczywszy listing z 2 stwierdzam, że rzuciłeś się na zbyt głęboką wodę.

2. Poprawność tego programu jest dyskusyjna. AllocDOSObject jest do czego innego np. razem z funkcją ExAll, tutaj niepotrzebna. Po co Lock? Jak już to przed Open. Read może wczytać mniej bajtów niż len. Długość pliku można sprawdzać funkcją Seek.

3. Nie ma ekranów tworzonych za pomocą graphics.
[#3] Re: Kilka różnych pytań

@cholok, post #2

"Ogrom lektury do poczytania"

Podaj jakieś tytuły, sprawdzę.

"Read może wczytać mniej bajtów"

W takim razie co będzie lepsze niż Read()?

"Nie ma ekranów tworzonych za pomocą graphics"

We wspomnianej przeze mnie książce właśnie tak jest napisane... to może inaczej, po co robić OpenScreen() jak można zrobić to samo procedurami z graphics? Tu jest dobry przykład, RGBBoxes.c
[#4] Re: Kilka różnych pytań

@forge, post #3

Tytuły będą tendencyjne:
Amiga Intuition Reference Manual
Amiga Programmers Handbook
Amiga ROM Kernel Manual
+ źródłówki.

Co do Read, chodziło mi o coś innego. Lepiej sprawdzać if Read(a,b,len)=len niż <>-1, bo jak zwróci 0, to nie wczyta wszystkiego, a błędu nie pokaże.

RGBoxes pokazuje wyświetlanie obrazu bez użycia ekranu, czyli poza intuition. Tracimy jednak wtedy obsługę intution. Bardziej dla gier lub demek.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem