AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Streams - negativen Wert mit Write schreiben???
Thema durchsuchen
Ansicht
Themen-Optionen

Streams - negativen Wert mit Write schreiben???

Ein Thema von FreewareFire · begonnen am 13. Aug 2004 · letzter Beitrag vom 15. Aug 2004
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 18:25
@MacGuyver: Ich glaub du bemühst dich umsonst, es wurde bereits 3 mal oder so gepostet welchen Sourceteil die leute zum helfen brauchen und der Threadstarter rückt ihn einfach nicht raus. Wenn er nicht geholfen bekommen will dann müssen wir ihn eben allein lassen mit seinem problem, so ungern wir das auch machen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#22

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 18:29
@FreeFire: Ich will jetzt nicht schimpfen, aber dass muss ich jetzt loswerden:
Deine 3-Punkte-Erklärung hilft gleichviel, wie wenn ich schriebe:
Zitat:
1. Ich habe mein eigenes Betriebssystem programmiert.
2. Ich hab es versucht zu starten.

Hilfe, was soll ich tun?
Um Hilfe zu geben, muss ein anderer Programmierer den Quellcode (teilweise) verstehen. Und um ihn zu verstehen muss man ihn sich erstmal anschauen. Er genötigt also den vollständigen Code (d.h. also jede nötige Variable und Typ sowie Methode die nötig ist). Dann kann er den Fehler vielleicht ausbessern. Aber ohne Quellcode einen Fehler finden, das wird schwierig, außer der Programmierer kann zaubern.

mytar
Francis Obikwelu
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#23

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 18:42
Ich glaub langsam, dass FreewarFire den wert den er schreibt garnicht in seinem eigenen programm wieder verwenden will. Vermutlich hackt (völlig wertfrei) er fremde daten und kennt deren kodierung nicht. Dann ist es vermutlich kein wunder wenn am anderen ende 6000 bei rum kommt.

Hast du mal versucht einen integer zu schreiben (4 bytes)? Kennst du den benötigten datentyp?
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
FreewareFire

Registriert seit: 25. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#24

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 18:56
Ich glaube eher, dass hier einige keine Ahnung haben. Wer nicht rafft, dass es nicht mehr Code gibt, der sollte mal überlegen was er da schreibt. Wohin gehen die Daten wohl, wenn ich Sie in den MemoryStream lade? Die sind im MemoryStream! MemoryStream ist der TMemoryStream! Und darin befindet sich die Datei! Um nun Daten zu schreiben, setzt man die Position an die Stelle des TMemoryStream, wo man eben was speichern will. Und die Daten, die ich speichern will, befinden sich eben an $A1 ! Ich weiß ja nicht, was ihr mit euren Records und Typen habt, aber die brauche ich hier nicht. Ich glaube ihr wisst selbst nicht, wo das Problem liegt. Ich frage mich, ob es evtl. damit zu tun hat, dass die Datei Hex-Dezimal ist und ich den Wert einfach Dezimal speichere. Nehme ich mal an. Ich versuchs einfach mal anders... Und alles andere wäre Sinnlos. Also Bitte fragt nicht nach noch mehr Code - es gibt keinen Bitte lest vorher, dann Antwortet. Ich bin am Verzeifeln, kann euch aber nur sagen das es eben nicht mehr Code gibt. Versteht das doch.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#25

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 18:59
ich beschreibe mal unser Problem: Du hast den source gepostet womit den Wert aus dem SpinEdit in den Stream speicherst. Nun ist deine Frage warum der Wert in dem Stream nicht der Wert ist den du wirklich geschrieben hast. Woher weißt du das der Wert ein anderer ist als den du geschrieben hast wenn du in nicht wieder irgendwann aus dem stream herausliest?

Bildlich gesprochen: Du wirfst 2 Euro in einen Brunnen und fragst warum im Brunnen keine 2 Euro drin sind obwohl du nie nachschaust.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 19:06
Schön.

"BuildValue := BC.Value * 10;"
was ist denn BC.Value? Wieso * 10?

Irgendwie werde ich das gefühl nicht los, das du das nicht verstehst.

Stefan
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
FreewareFire

Registriert seit: 25. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#27

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 19:06
Ach so, das auslesen mache ich nach dem die Datei gespeichert wurde mit einem Hexeditor. Per Knopfdruck wird also die Datei auf der Festplatte gespeichert. Danach kann ich sehen, dass der Wert nicht dem entspricht, den er haben müsste. Ansonsten lese ich nicht aus dem MemoryStream! Er liest die Datei ein, ändert den Wert und speichert die Datei wieder auf der Festplatte. Speichern mit SaveToFile! Ich nehme an, ich muss den SpinEdit Wert in Hex umwandeln und dann speichern, oder? Wie mache ich das? Also von int nach Hex? Danke!
  Mit Zitat antworten Zitat
FreewareFire

Registriert seit: 25. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#28

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 19:10
BC.Value ist das SpinEdit.

* 10 weil der Wert mit 10 multipliziert werden muss, damit er später in der Datei korrekt ist. Ist eine Datei von einem Spiel (RollerCoaster Tycoon 2). Das muss so sein.
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 19:14
Oh, oh. Ich nehme an, du weißt nicht wie ein SmallInt Funktioniert. 32767 ist der maximale positive Wert. Bei einem Inc kommt dann -32768 heraus. Die zwei Byte die gespeichert sind, sind lo- und hi-Byte. Der Wert +256 z. B. ist dann $00 $01. Bei +255 wäre dann die Zahl $FF $00. Den zweiten Wert mal 256 plus der erste Wert. Ist der zweite Wert > 127 ($7F) dann ist das eine negative Zahl. Du mußt die zwei Byte aus deinem Stream in eine SmallInt-Var laden und dann an den Spin übergeben. NUR so klappt das. Um nicht mit Positionen spielen zu müssen legst du einen Typen an, kann hast du da auch keine Probleme.

Stefan
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
FreewareFire

Registriert seit: 25. Sep 2003
51 Beiträge
 
Delphi 7 Professional
 
#30

Re: Streams - negativen Wert mit Write schreiben???

  Alt 13. Aug 2004, 19:24
Hi Stefan,

ich verstehe nicht ganz, was du meinst - ich weiß schon das der Wert eines smallint bis 32567 geht und -32568. Der Wert übersteigt aber nicht diesen Bereich. Wie kann ich jetzt einen smallint Wert in Hex konvertieren? Vielleicht klappt es dann!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz