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

Re: wie bekomme ich den string in ein Byte[] Kategorie: Programmierung (von wernerAZ - 30.03.2007 4:30)
Als Antwort auf Re: wie bekomme ich den string in ein Byte[] von wernerAZ - 30.03.2007 3:59
Ich nutze:
C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.1
sorry, ist schon spät,
nicht midString, sondern strx.insert ist die Zauber-Routine.
Gute Nacht
Werner

> Hallo nochmal,
> also ins Flash schreiben ging gut. Mit dem Auslesen war es schwieriger. Die Ausgabe auf mein Tochlcd funktionierte gleich,
> aber um die Daten  auf das lcdext zu bekommen und um die Daten weiter zu bearbeiten,
> muĂ?ten die byteBuf[]-Daten wieder in ein String umgewandelt werden.
> Mit flash.readStringArray bekam ich auch die abgespeicherten Werte ab einer bestimmten Position
> aufs extLCD, aber ich konnte nicht die Länge bestimmen.
> Und an dem Versuch, es gleich als StringArray abzuspeichern, bin ich kläglich gescheitert.
> Falls das jemand geschaft hat, täte mich ein kleines Beispiel interessieren.
>
> Wie dem auch sei, mit der Zauber-Routine von midString gelang es mir dann byte buf[] in String umzuwandeln.
> Falls jemand eine konventionelle Lösung hat...Bin ich daran interessiert.
>
>
> //Flash lesen
> zeile=0;
> lcdext.clear();
> touchlcd.clear();
> for k=1 ... 10
>     {
>     str.clear(s);
>     flash.readByteArray(1,k*64,buf,64);
>     //mem.copy(s,0,buf[35],20); //funktioniert leider nicht
>     strx.insert(buf[35],s,0,20);//geht doch, byte[] in string
>     lcdext.delline(1);
>     lcdext.line(1);
>     lcdext.print(s);
>     lcdext.delline(2);
>     lcdext.line(2);
>     lcdext.zahl3(str.length(s));
>     touchlcd.text('L',0,zeile,buf[35],20);
>     zeile=zeile+6;
>     sleep 3000;
>     }
>

> mfg
> Werner
>
> > Hey Martin,
> > dann klon ich eben �pfel und Birnen. Ich möchte Datensätze die grö�er sind als 30 Byte abspeichern.
> > Aber dank eines Beitrages vom April 2003 in diesem Forum über mem.copy, habe ich die Lösung gefunden.
> > Bin gerade am ausprobieren.Sieht aber gut aus. Anbei der Zaubercode!
> >
> > //irgendwo am Anfang
> > byte buf[64];
> >
> > //Flash beschreiben
> > for k=2 ... 11
> >     {
> >     mem.fill(buf,64,32);
> >     mem.copy(buf,0,location[k].breiteB,1);
> >     mem.copy(buf,1,location[k].breite,11);
> >     mem.copy(buf,12,location[k].laengeL,1);
> >     mem.copy(buf,13,location[k].laenge,12);
> >     mem.copy(buf,25,location[k].datum,10);
> >     l=str.length(location[k].name);
> >     mem.copy(buf,35,location[k].name,l);
> >     lcdext.line(1);
> >     lcdext.zahl(flash.writeByteArray(1,k*64,buf,64));
> >     }
> > lcdext.line(2);
> > lcdext.print("Erledigt");
> >

> > Aber trotzdem vielen Dank fĂĽr deine Antwort.
> >
> > Ein glĂĽcklicher Werner.
> >
> > > Hallo Werner
> > >
> > > Du versuchst gerade Ă?pfel auf Birnen zu Klonen ;)
> > > ein String benötigt unabhängig von seiner Länge immer 32 Byte!
> > > Strings kannst du mit der Funktion Flash.writeString() direkt in den Flash schreiben,
> > > dabei musst du beachten daĂ? du mit 32 er Schritten Addressierst.
> > > Siehe Modulhilfe Flash.HTML.
> > >
> > > GruĂ? Martin
> > >
> > >
> > > > Hallo zusammen,
> > > > ich möchte mehrere Strings in ein byte[] Array schreiben, um es dann in den Flash-Speicher zu speichern.
> > > > Hier meine definition:
> > > >
> > > > type gpsDaten
> > > > {
> > > > string breiteB;
> > > > string breite;
> > > > string laengeL;
> > > > string laenge;
> > > > string name;
> > > > }
> > > >
> > > > gpsDaten location[15];
> > > >
> > > > byte buf[64]={location[x].breiteB,location[x].breite,location[x].laengeL,location[x].laenge,location[x].name};
> > > >
> > > > Aber irgendwie gelingt mir das nicht. Was mache ich verkehrt? Wie bekomme ich die Daten in buf?
> > > >
> > > > mfg
> > > > Werner
> > > >
> > > >
> > > >


    Antwort schreiben


Antworten:

Re: wie bekomme ich den string in ein Byte[] (von André H. - 30.03.2007 9:13)
    Re: wie bekomme ich den string in ein Byte[] (von wernerAZ - 30.03.2007 13:55)
        Re: wie bekomme ich den string in ein Byte[] (von André H. - 9.04.2007 19:19)