APPLICATIONSPROGRAMMATION ★ CROSSREFERENZ (SCHNEIDER AKTIV) ★

CROSSREFERENZ (SCHNEIDER AKTIV)CROSS-REFERENZ-ANPASSUNG AN DEN CPC 6128
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

In der Ausgabe Schneider aktiv 8/86 veröffentlichten Sie das Programm CROSSREFERENZ. Leider läuft das Programm so nur auf dem CPC 464. Ich habe dieses Programm für den CPC 6128 angepaßt und möchte Ihnen diese Anpassung nicht vorenthalten. Diese Version dürfte auch auf dem CPC 664 laufen.

Die CPC-Serie verfügt über ein ausgeklügeltes Betriebssystem, in dem ungeahnte Fähigkeiten schlummern. Diese können auch vom BASIC ausgeschöpft werden, wobei das Handbuch nur spärlich Hilfestellung leistet. Aber zum Glück gibt es ja SCHNEIDER AKTIV, das dieses Manko wieder ausbügelt.

1. Das Programm CRLOAD.BAS wird nicht benötigt (Maschinenroutine führt auf CPC 6128 zum Absturz!)

2. CROSSREF.BAS

— Zeile 65210 weglassen
— Zeile 65214 weglassen
— Zeilen 65353 — 65383 weglassen

Das Folgende ist nicht notwendig, ermöglicht aber, Programme bis Zeilennummer 65299 zu analysieren:

— In Zeile 65215: KEY 139,"RUN 65315"+CHR$(13)
— In Zeile 65280: IF b < 65300 THEH 65286
— RENUM 65300,,1
(In dieser Reihenfolge)

3. CRAUSG. BAS

— Zeile 40 weglassen
— Zeile 50 weglassen
— Zeile 640 : IF UPPERS(a$)="J" THEN |ERA,"CRDATEI.*"
— Zeile 1020 : GOSUE 50000 : REM Sortier-Routine
— Zeile 1255 : zz=zz+1

Als Sortierroutine habe ich den Shell Sort gewählt. Der Quick-Sort ist zwar schneller, doch weiß ich nicht, wie man bei Strings eine sinnvolle Mittelwertbildung erreicht, wie sie beim Quick-Sort erforderlich ist, um die Felder zu teilen. Man könnte zwar die Strings in Zahlen umwandeln und dann den Mittelwert bilden, jedoch wird dann für die Umwandlungsfunktionen mehr Rechenzeit verwendet, als man durch das Verfahren spart. Der Shell-Sort ist nach dem Quick-Sort das am schnellsten mir bekannte Sortier-Verfahren. Man kann aber auch andere Verfahren wählen (evtl. Maschinenprogramme). Ein Diskettensortierprogramm könnte übrigens bei großen Datenmengen sinnvoller sein, um die auftretende Zerstückelung der Listen in mehrere Teillisten zu vermeiden. Die beste Lösung wäre meines Erachtens die, das schon im Programm CROSSREF das Schreiben auf Diskette sortiert erfolgt (entweder als binärer Baum oder im Hash-Verfahren. Um dies sinnvoll zu realisieren, braucht man allerdings MC-Routinen, die eine relative Dateiverwaltung erlauben). Hier aber nun die einfachste Lösung, der Sheil-Sort:

50000 '
50010 '* SHELL-SORT *
50020 '
50030 tf=as
50040 ende=0
50050 WHILE NOT ende
50060 tf=tf ö 2
50070 if tf<=1 THEN ende=-1
50060 FOR ii=1 TO as-tf
50090 FOR jj =11 TO 1 STEP -tf
50100 IF vt$(jj+tf>>vt$(jj> THEN jj=1:GOTO 50110 ELSE 50105
50105 help$=vt$(jj+tf):vt$(jj+tf>=vt$(jj):vt$(jj)=help$
50110 NEXT jj
50120 NEXT ii
50130 WEND
50140 RETURN


Als letzte Verbesserung könnte man, wenn man bei diesem Verfahren bleibt, in den Zeilen 70,850 und 900 die ,1000‘ durch ,1500‘ ersetzen. Damit lassen sich dann die meisten Programme analysieren.

(Günter Bing) , SA

★ PUBLISHER: Schneider Aktiv
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LiCENCE: LISTING
★ COLLECTION: SCHNEIDER AKTIV 1986
★ LANGUAGE:
★ AUTHORS: Karl Jahns , Bodo Sobanski , Günter Bing
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Crossreferenz    (Schneider  Aktiv)    GERMANDATE: 2021-06-11
DL: 140
TYPE: ZIP
SiZE: 9Ko
NOTE: Dumped by Johnny Farragut ; 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Cross-Reference (Compute Mit)
» Applications » Cross-Referenz Variablen (Schneider Magazin)
» Applications » Interactive Cross-Referencing
» Applications » RSX Cross-Reference (Happy Computer)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 175 millisecondes et consultée 1161 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.