.--------------. | MemSize V1.1 | `--------------' 1. Allgemeines MemSize V1.1 ist © copyright 9-11/94 by Stefan Grad. Es wurde in PCQ-Pascal geschrieben und getestet. 2. Rechtliches MemSize ist Freeware, d.h. jeder darf es unter den folgenden Auflagen frei benutzen und weiterkopieren: - Es darf weder der Sourcecode noch der compilierte Programmcode verändert werden. Es ist allerdings erlaubt, den Sourcecode als Ganzes oder Teile davon ver- ändert oder im Originalzustand in eigene Programme einzubinden. Das daraus entstandene Programm darf aber nicht den Namen "MemSize" tragen. Auch ein Hinweis auf die Quelle der Routine (und eine Version des Programmes für meine PD-Serie "GPD") wäre ganz nett. - Es ist auch erlaubt, das Programm ohne Sourcecode und/oder Anleitung zu verbreiten. Dem Sourcecode und/oder der Anleitung muß aber immer das Pro- gramm beiliegen. - Es ist verboten, MemSize auf kommerzielle Diskettenmagazine (ja, genau die für 19,80 DM und so) und ähnlichem zu übernehmen. Sonstiger Vertrieb auf PD-Serien/via DFÜ ist erlaubt. Achtung: Ich übernehme keinerlei Verantwortung über Schäden die direkt oder indirekt aus der korrekten oder falschen Benutzung dieses Programmes entstehen könnten! 3.Systemvoraussetzungen Beliebiger Amiga mit OS1.2 (?) oder höher. Ich konnte es leider noch auf kei- nem Rechner mit OS1.2 testen; müßte aber laufen. Unter OS1.3 oder kleiner muß der CLI-Befehl "run" im C: Verzeichnis vorhanden sein. 4. Zweck MemSize ist ein kleiner CLI-Befehl, der überprüft, ob eine bestimmte Spei- chermenge frei ist und startet dann, sofern dies (nicht) der Fall ist, ein bestimmtes Programm. 5. Benutzung (nur über CLI/Shell) MemSize  Parameter: deklariert die übergebene Speichergröße als Minimalwert deklariert die übergebene Speichergröße als Maximalwert Minimaler/maximaler (je nach Übergabe von MIN oder MAX) freier Speicherplatz (in Bytes), damit ge- startet wird. darf maximal 8 Ziffern lang sein. Alle Stellen nach der 8. werden abgeschnitten. Sind voranstehende Stellen "0", so haben diese keine Auswir- kung. Es werden aber, auch wenn voranstehende Stellen "0" sind, alle Stellen nach der 8. abgeschnitten. Nicht-Ziffern werden intern aus der Zahl ausgeschnitten. Sie haben somit keine Auswirkung. Allerdings scheint PCQ-Pascal manche ASCII-Zeichen als Leer- stellen zu interpretieren und somit das Ende des Parameters zu bewirken (z.B. MemSize MIN 100000ß0 ProgrammName versucht nicht etwa "ProgrammName" zu starten, sondern "0", was in den meisten Fällen nicht möglich sein wird und zur Fehler- meldung "Unknown Command 0" führen wird). Der Name des Programmes, das gestartet werden soll, wenn zu- mindest/maximal der angegebene Speicherplatz frei ist. darf maximal 70 Zeichen lang sein. Soll dem auszuführenden Programm ein Parameter übergeben wer- den, muß dieses samt Parameter in Anführungszeichen gesetzt werden. Wird "MemSize" ohne Parameter oder mit fehlerhaftem 1. Parameter aufgerufen (d.h. weder das Schlüsselwort MIN noch MAX wird übergeben), wird ein kleiner Info-Text ausgegeben. Ein Aufruf von "MemSize" mit fehlendem 2. und/oder 3. Parameter bewirkt gar- nix. Beispiele: 1> MemSize MIN 100000 Programm Startet bei einem freien Speicherplatz von mindestens 100.000 Bytes das "Pro- gramm". 2> MemSize MIN 10000a0 Programm Wie 1>. 3> MemSize MIN 0100000 "Programm" Wie 1> 4> MemSize MIN 000100000 "Programm" Startet bei einem freien Speicherplatz von mindestens 10 KB (10000 Bytes) das "Programm". (Die letzte "0" wird abgeschnitten!) 5> MemSize MIN 1500000 "Programm 1500k" Startet bei einem freien Speicherplatz von mindestens 1500000 Bytes das "Pro- gramm" mit dem Übergabeparameter 1500k. 6> MemSize ? Gibt einen kleinen Info-Text aus. 7> MemSize MAX 100000 Programm Startet bei einem freien Speicherplatz von höchstens 100.000 Bytes das "Pro- gramm". Ich denke, das genügt. 6. Danksagungen Ich danke an dieser Stelle Patrick Quaid für seinen hervorragenden Pascal- Compiler "PCQ-Pascal" (V1.2b) sowie allen weiteren Autoren, deren Programme mir bei der Programmierung von MemSize behilflich waren. Außerdem danke ich Bernd "Diesel" Künnen für die Pascal-PD-Serie "Purity" (die gibt´s übrigens bei mir im Abo...) und allerlei nützliche Tips zur Pro- grammierung in PCQ-Pascal,... Schließlich möchte ich noch dem Autor von "Amiga Profi Know How (Teil 1: Sy- stemprogrammierung)" - Stefan Maelger - für dieses hervorragende und für je- den Programmierer empfehlenswerte Nachschlagewerk danken. (Data Becker) Und natürlich wie immer allen, die ich vergessen habe... 7. Bekannte Fehlerquellen Ich habe versucht, sämtliche Bedienfehler soweit wie möglich auszuschließen. Allerdings gibt es 3 kleine Probleme: 1. Die Länge der Parameter ist begrenzt ( auf 8 Zeichen und auf 70). Ich denke aber, daß diese Werte ausreichen. 2. PCQ-Pascal sieht offenbar bestimmte ASCII-Codes, die keine Leerzeichen sind, in Übergabeparametern trotzdem als solche an (darunter auch die im Deutschen recht gebräuchlichen Zeichen ß,ä,ö,ü). In Programmnamen dürften diese also normalerweise nicht vorkommen. Abhilfe schafft man, indem man den Programmnamen in Anführungszeichen setzt. Somit ist also z.B. auch MemSize 100000 "Schießspiel" möglich. 3. Leerstellen in Programmnamen sind nicht erlaubt - auch nicht in Anfüh- rungszeichen! (scheint auch am PCQ zu liegen...) 8. Programmgeschichte V1.0 (26.9.1994): Erste Veröffentlichung. V1.1 (20.11.1994): - neuer Parameter MIN | MAX: bei Übergabe von MIN wird die übergebene Speichergröße als Minimalwert be- handelt (wie in V1.0), bei Übergabe von MAX als Maximalwert (neu) - verbesserter Infotext (kursiv wird nach USAGE wieder ausgeschaltet) - Anzeige des Infotextes jetzt immer bei fehlerhaftem 1. Parameter, und nicht mehr nur bei der Übergabe von "?" als 1. Parameter Neue Versionen... ...erscheinen natürlich immer auf der PURITY - DER Serie für Pascal-Program- mierer - egal ob PCQ-, Kick- oder ??-Pascal... Abos gibt´s übrigens bei mir! 9. Kontaktadresse Natürlich bin ich immer offen für Verbesserungsvorschläge, Bug-Reports (?!?), Zuwendungen jeglicher Art (!!!), Interessenten an meiner DEUTSCHEN FD-Serie "GPD" (alles mit deutschen Anleitungen, Disks randvoll, aktuell,...), u.a. Wer mich also kontaktieren will, schreibt bitte an: Stefan Grad, Bahnhofstr. 37, 78588 Denkingen, Deutschland. Wenn Ihr Antwort erhalten wollt, legt bitte ausreichend Rückporto bei!