Archiwum
- Index
- Barton Beverly Raintree 03 Sanktuarium
- MA02_ _Evolution
- Harrison_Harry_ _Stalowy_Szczur_i_piata_kolumna
- 08 Ernest Hemingway Mieć‡ i nie mieć‡
- Susane Johnson Jezioro pokus
- Edgar Cayce Luc
- Lorie O'Clare Dead World (v1.0) [pdf]
- Natalie Rivers Dom na wyspie Korfu
- Darcy Maguire Pasaśźerka na gapć™
- Greene Jennifer Zapach lawendy 03 Szalenstwo chwili
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- docucrime.xlx.pl
[ Pobierz całość w formacie PDF ]
EXIT_SUCCESS Rückgabewert für erfolgreiche Programmausführung (Wert 0)
EXIT_FAILURE Rückgabewert für fehlerhafte Programmausführung (Wert -1)
Siehe auch RUN »Seite 113
Beschreibung
Die exit-Funktion beendet die Ausführung des User-Language-Programms.
Wird result (integer) angegeben, wird es als Rückgabewert »Seite 163 des Programms benutzt.
Wird ein command-String angegeben, wird dieser Befehl genauso ausgeführt, als wäre über die
Kommandozeile direkt nach dem RUN-Befehl eingegeben worden. In diesem Fall wird der Rückgabewert
des ULPs auf EXIT_SUCCESS gesetzt.
eagle.RTF EAGLE Help Seite 285 von 372
lookup()
Funktion
Sucht Daten in einem String-Array.
Syntax
string lookup(string array[], string key, int field_index[, char
separator]);
string lookup(string array[], string key, string field_name[, char
separator]);
Rückgabewert
lookup liefert den Wert des Feldes, das durch field_index oder field_name markiert wird.
Existiert dieses Feld nicht oder wird kein passender String für key gefunden, kommt ein leerer String
zurück.
Siehe auch fileread »Seite 277, strsplit »Seite 301
Ein array das mit lookup() benutzt werden kann, besteht aus Text-Strings, wobei jeder String einen Daten-
Record darstellt.
Jeder Daten-Record enthält eine beliebige Anzahl von Feldern, die durch das Zeichen separator (default ist
'\t', der Tabulator) getrennt sind. Das erste Feld in einem Record wird als key benutzt und hat die Nummer 0.
Alle Records müssen eindeutige key-Felder haben. Keines der key-Felder darf leer sein - ansonsten ist nicht
definiert welcher Record gefunden wird.
Enthält der erste String in array einen "Header"-Record (der Record, in dem der Inhalt der Felder beschrieben
wird), bestimmt lookup mit einem String field_name automatischen den Index des Feldes. Das erlaubt es,
die lookup-Funktion zu benutzen, ohne genau zu wissen, welcher Feld-Index die gewünschten Daten enthält.
Es bleibt dem Benutzer überlassen, sicherzustellen, dass der erste Record tatsächlich Header-Informationen
enthält.
Ist der key-Parameter beim Aufruf von lookup() ein leerer String, wird der erste String von array
verwendet. Das erlaubt dem Programm zu bestimmen, ob ein Header-Record mit den gewünschten Feld-Namen
existiert.
Enthält ein Feld das separator-Zeichen, muss es in Anführungszeichen eingeschlossen werden (wie in
"abc;def", wobei hier das Semikolon (';') das Trennzeichen ist). Das gilt auch für Felder, die
Anführungszeichen (") enthalten, wobei die Anführungszeichen im Feld verdoppelt werden müssen (wie hier:
"abc;""def"";ghi" ergibt also abc;"def";ghi).
Es wird empfohlen den "tab"-Separator (default) zu verwenden, der diese Probleme nicht kennt (kein Feld
kann einen Tabulator enthalten).
Hier folgt eine Beispiel-Daten-Datei (zur besseren Lesbarkeit wurde der Separator ';' verwendet):
Name;Manufacturer;Code;Price
7400;Intel;I-01-234-97;$0.10
68HC12;Motorola;M68HC1201234;$3.50
Beispiel
eagle.RTF EAGLE Help Seite 286 von 372
string OrderCodes[];
if (fileread(OrderCodes, "ordercodes") > 0) {
if (lookup(OrderCodes, "", "Code", ';')) {
schematic(SCH) {
SCH.parts(P) {
string OrderCode;
// both following statements do exactly the same:
OrderCode = lookup(OrderCodes, P.device.name, "Code", ';');
OrderCode = lookup(OrderCodes, P.device.name, 2, ';');
}
}
}
else
dlgMessageBox("Missing 'Code' field in file 'ordercodes');
}
eagle.RTF EAGLE Help Seite 287 von 372
sort()
Funktion
Sortiert ein Array oder einen Satz von Arrays.
Syntax
void sort(int number, array1[, array2,...]);
Beschreibung
Die sort-Funktion sortiert entweder direkt ein array1, oder sie sortiert einen Satz von Arrays
(beginnend mit array2), wobei array1 ein int-Array ist, das als Pointer-Array verwendet wird.
In jedem Fall definiert das Argument number die Zahl der Einträge im Array oder in den Arrays.
Einzelnes Array sortieren
Wenn die sort-Funktion mit einem einzelnen Arrray aufgerufen wird, wird dieses Array direkt sortiert, wie im
folgenden Beispiel:
string A[];
int n = 0;
A[n++] = "World";
A[n++] = "Hello";
A[n++] = "The truth is out there...";
sort(n, a);
for (int i = 0; i
printf(A[i]);
Einen Satz von Arrays sortieren
Wenn die sort-Funktion mit mehr als einem Array aufgerufen wird, muß das erste Array ein int-Array sein,
während alle anderen Arrays von jedem Typ sein können. Sie enthalten die zu sortierenden Daten. Das folgende
Beispiel zeigt, wie das erste Array als Pointer verwendet wird:
numeric string Nets[], Parts[], Instances[], Pins[];
int n = 0;
int index[];
schematic(S) {
S.nets(N) N.pinrefs(P) {
Nets[n] = N.name;
Parts[n] = P.part.name;
Instances[n] = P.instance.name;
Pins[n] = P.pin.name;
++n;
}
sort(n, index, Nets, Parts, Instances, Pins);
for (int i = 0; i
printf("%-8s %-8s %-8s %-8s\n",
Nets[index[i]], Parts[index[i]],
Instances[index[i]], Pins[index[i]]);
}
Die Idee dahinter ist, daß an ein Netz mehrere Pins angeschlossen sein können. In einer Netzliste wollen Sie
unter Umständen die Netznamen sortieren und innerhalb eines Netzes die Bauteilenamen, und so weiter.
Beachten Sie die Verwendung des Schlüsselworts numeric in den String-Arrays. Das führt dazu, daß die
String-Sortierung einen numerischen Teil am Ende des Namens berücksichtigt (IC1, IC2,... IC9, IC10 anstelle von
IC1, IC10, IC2,...IC9).
Wenn man einen Satz von Arrays sortiert, muß das erste (Index-)Array vom Typ int »Seite 188 sein und
[ Pobierz całość w formacie PDF ]