Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo, > > ich bin zwar noch nicht all zulange hier im Forum, jedoch sind mir ein paar Sachen aufgefallen, die ich hier > gerne loswerden möchte - (soll keine Kritik werden). > > Zum ersten möchte ich eine Frage an die User stellen. > Ausgehend von meinen Projekten benötige ich > fast immer eine Funktion die einen "String-Wert" in eine Fliesskommazahl umwandelt. > (>> INPUT "Testkommawert"). Ich kann mir nicht vorstellen das Ihr alle nur mit "runden Zahlen" hantiert?! > Was mich dann wundert ist, das ich hierfür keine entsprechende Funktion finde (getNumfloat)?? > Natürlich würde sich eine Routine schreiben lassen die entsprechendes bereits während des Eintippens > erledigt und Fehleingaben wie Beispielsweise zwei Kommas nacheinander unterbindet. > Nur denke ich sollte es auch möglich sein, über Schnittstellen empfangene Werte, auf Richtigkeit hin > überprüfen zu können. > Ausgehend davon denke ich, das Ihr alle schon mal so eine Funktion geschrieben habt, die einen String > in eine Fliesskommazahl wandelt?! (Oder seh ich den Wald im Moment vor lauter Bäumen nicht??) > > Also daher hier mein erster Wunsch (auch wenn Anrdé mir jetzt nen Vogel zeigt) > Wäre es denn nicht möglich hier eine Rubrik "UserModule" "UserProgramme" "UserProjekte" > zu veröffentlichen (ohne Gewähr auf Funktionali- und Orginali -tät)? In der einfach jeder seine Projekte vorstellen > darf? Das würde natürlich auch bedeuten das man "hier" auch Bilder hochladen kann. Vielleicht wäre > eine PDF-Implematation der einfachste Weg, da es hierfür inzwischen viele entsprechend freie Converter gibt > die sich bei der Ausgabe wie ein "stink-normaler" Drucker verhalten. > Wie sagt es sich so schön, ein Bild sagt mehr als 1000 words ;-) > > Mein nächstes Anliegen ist schon fast unverschämt *grins > Wie schön es doch war, zu Turbo-Pascals-Zeiten, mit Zeigern zu arbeiten *schwäm > Ein Zeiger selbst ist eine Variable die nicht etwa einen Wert beinhaltet , nein - sie beinhaltet den > Speicherort einer Variablen dessen Wert mich Interessiert, deren Datentyp aber erst bei "Gebrauch" > festgelegt wird. Also quasi eine undeffinierte Variable in der Variable. > Dabei ist der Speicherort selbst für den Programmierer unerheblich. Wichtig ist nur das sich mit Hilfe > einer solchen Funktion wiederkehrende, verschachtelte Strukturen > (wie sie Beispielsweise in Menüs zu finden sind) oft benötigte, wiederkehrende Programmteile sparen kann. > Zur Verdeutlichung: Eine "gemeine" Tastaureingabefunktion "function (getinteger) returns int" > könnte mit Hilfe von Zeigern jede Art Datenstruktur zurückgeben "function(get) returns int^z" > "z" Repräsentiert hierbei nicht etwa das Funktionsergebnins sondern nur den den "Aufenthaltsort" von "z" > Dabei kann "z" sowohl byte, int, long als auch string sein. (Je nach dem wie sie vor dem Aufruf > deklariert wurde "int^ z;"..... "byte^ z;" "string^ z". > Kompliziert ... ich weiss. Aber jeder der schon mal ein aufwendiges Menü programmiert hat wird sich > hier gerne an Turbo Pascal zurückerinnern - da bin ich mir sicher:-)... > Das ganze schimpft sich dann "neudeutsch" auch noch dynamische Variable. Phüüü!!! > > Eine vielleicht letzte saudoofe frage hab ich noch... Laut Handbuch hat ein "float" hier 8 byte... und einen > Wertebereich von 1.7*10(308) .... Wie definiere ich jedoch hier einen Exponenten? 5.2e-100? oder > wieso führt x (float)... also x=0x8000000000000000 zu x=0.000? > > > Wie auch immer... hier stell ich mal meine Routine von "getNumfloat" rein... > (Da ich nicht in der Lage war einen kleinstmöglichen negativen Wert für einen "falschen" String zu deffinieren > hab ich den von "long" hergenommen?! >> -2147483647 > > <code> > //--String in Floatzahl konvertieren--------------------------- > function getNumfloat (byte s[]) returns float > // Die zurückgegebene Zahl kann in > // float gespeichert werden > //-------------------------------------------------------- > {byte i;float x,y; > y=0.0; > x=0.1; > if s[31]==0 return 0; > if s[0]!='-' and s[0]!='.' and not(s[0]>=0x30 and s[0]<=0x39) return -2147483647; // keine Zahl > if s[0]!='-' and s[0]!='.' y=s[0]-0x30; > i=1; > while (s[i]!='.' and i!=s[31]) > { > if s[i]<0x30 or s[i]>0x39 return -2147483647; // keine Zahl > y=y*10.0 + (s[i]-0x30); > i=i+1; > } > if (s[i]=='.' and i<s[31]) i=i+1; > while i!=s[31] > { > if s[i]<0x30 or s[i]>0x39 return -2147483647; // keine Zahl > y=y+((s[i]-0x30)*x); > x=x/10.0; > i=i+1; > } > if s[0]=='-' y=y*(-1.0); > return y; > } > </code> > > Das ganze dann sinnvollerweise im Modul STRX.C2 untergebracht. > > Danke das Ihr das jetzt alles duchgelesen habt :-) ......Nun würde mich eure Meinung dazu interessieren:-)
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB