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 | ||
| ||
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) |