AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Speichern Von daten aus einem array endet in leerer Datei
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern Von daten aus einem array endet in leerer Datei

Ein Thema von Pitti911 · begonnen am 29. Jan 2009 · letzter Beitrag vom 31. Jan 2009
Antwort Antwort
Seite 2 von 3     12 3      
Pitti911

Registriert seit: 28. Jan 2009
22 Beiträge
 
#11

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 13:35
ok

das problem war ja hauptsächlich das ich am anfang noch nich wusste wo denn genau der fehler liegt bzw das gebiet in dem er liegt

wenn ich das gewusst hätte hätt ich auch sicher nur die neuen Typen und das wichtige gepostet
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 13:52
könnte es daran liegen?
Delphi-Quellcode:
    Bots: file of Tbot;
    bot:array of Tbot;
Der File ist doch nur für Einen Wert von TBot und nicht für ein ganzes Array of TBot. Oder?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 13:58
Neenee, das ist schon richtig so.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Pitti911

Registriert seit: 28. Jan 2009
22 Beiträge
 
#14

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 15:07
ok das mit dem speichern in der datei hab ich jetzt anders gelöst aber es hat sich mir ein weiteres Problem offenbart die Maximale Zeichenlänge bei

Delphi-Quellcode:
Type Thunter =record
            Acc: String[40];
            Bots: String[255]; //genau hier da hätt ich gerne Mehr platz weil die Anzahl doch die 255 leicht übersteigt
            Score: Integer;
            end;
geht das iwie? also gibt es einen Finalisierten string typ der mehr als 255 zeichen erlaubt? (wenn der nich Finalisiert ist mag delphi die datensätze nich speichern)

und @Teekeks: wie deddyH schon gesagt hat is das schon so richtig

@alle: btw is mir relativ egal wie optimal oder auch nich das geschrieben is ich weiß das es sicher schnellere wege gibt^^ und auch vom speicherbedarf her günstigere aber wenn ich sehe das meine Dateien nach 2 einträgen noch nich mal ein KB ausfüllen is mir das doch relativ egal vor allem wenn man bedenkt das 1024MB RAM zur Zeit absolutes Minimum sind wenn man sich nen neuen PC kauft^^ und auch für die Processoren macht das keinen großen unterschied.
und mehr als 100 Einträge wird es wohl nie in einer der beiden Dateien geben selbst wenn wär der speicherbedarf immer noch lachhaft
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 15:13
Habe mal einen Kommentar eingefügt.
Delphi-Quellcode:
Repeat
    c:=true;
    p:=pos(' ',hilf[i].Bots);
    tmpbot.Botname:=copy(hilf[i].Bots,1,p-1);
    Delete(hilf[i].Bots,1,p);
    hilf[i].Bots:=trim(hilf[i].bots);
    p:=pos(';',hilf[i].Bots);
    tmpbot.Botlvl:=strtoint(copy(hilf[i].Bots,1,p-1));
    j:=0;
    While (j<=high(bot)) AND c do
      Begin
        // c wird hier false, wenn bit[j].BotName=tmpbot.BotName und bot[j].Botname <> ''
        // und c wird in dieser Schleife nie wieder true. Ist das so gewollt?
        if (ansilowercase(bot[j].Botname)=ansilowercase(tmpbot.Botname)) And (Not (bot[j].Botname='')) then
        Begin
          c:=false;
          if tmpbot.Botlvl>bot[j].Botlvl then bot[j].Botlvl:=tmpbot.Botlvl;
        end
        ELSE
        Begin
          if c then
          Begin
            bot[j]:=tmpbot;
          end;
        end;
        inc(j);
      end;
    inc(i);
  until i=high(hilf);
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 15:19
Zitat von Pitti911:
ok das mit dem speichern in der datei hab ich jetzt anders gelöst aber es hat sich mir ein weiteres Problem offenbart :( die Maximale Zeichenlänge bei

Delphi-Quellcode:
Type Thunter =record
            Acc: String[40];
            Bots: String[255]; //genau hier da hätt ich gerne Mehr platz weil die Anzahl doch die 255 leicht übersteigt
            Score: Integer;
            end;
Du willst die Bots alle in einem String speichern?
Besser geeignet wäre da doch ein Array

Delphi-Quellcode:
Type
  Thunter =record
    Acc: String[40];
    Bots: Array [0..100] String[15];
    Score: Integer;
 end;
Geeigneter als eine Statisches Array wäre aber ein dyn. Array oder eine TList.
Dann ginge da mit dem Speichern aber nicht mehr so einfach.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Pitti911

Registriert seit: 28. Jan 2009
22 Beiträge
 
#17

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 17:01
das mit dem statischen Array is wahrscheinlich die beste idee

aber wenn dann werd ich den array wohl gleich als Array of Tbot schreiben
da wird die ausgabe zwar wieder etwas komplizierter aber naja was solls
hoffentlich geht dann alles glatt^^ also das ich einmal den quelltext ohne Fehler schreibe xD

vllt sollt ich doch mal mit so nem komischen "diagramm" das meine Lehrer immer Predigen anfangen
obwohl eigentlich is ja grade das diagramm immer in meinem kopf xD nur helfen tuts bei solchen probs nie^^
aber iwo muss es doch ne möglichkeit geben nen längeren Finalisierten string als den 255er geben da müsst ich nämlich nix mehr ändern^^ weil das speichern an sich klappt schon nur dass ich immer zu wenig zeichen habe und darum das dann oftmals nix wird

mal schaun ich werd das noch iwie lösen wenn keiner nen finalisierten string kennt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 17:05
*Puh* nach diesem Post möchte ich Dich bitten, das hier einmal in Ruhe durchzulesen: http://www.delphipraxis.net/internal...t.php?t=147368
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#19

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 17:06
Zitat:
hoffentlich geht dann alles glatt^^ also das ich einmal den quelltext ohne Fehler schreibe xD
Ich hab gehört, es soll helfen, wenn man erstmal versteht was man machen will, bevor man drauflos programmiert.
  Mit Zitat antworten Zitat
Pitti911

Registriert seit: 28. Jan 2009
22 Beiträge
 
#20

Re: Speichern Von daten aus einem array endet in leerer Date

  Alt 31. Jan 2009, 17:41
@DeddyH: Ich weiß nicht wirklich was dein Problem ist. Meine Grundfrage war ja, nachdem ich die Probleme die ich vorher hatte gelöst habe, ob es einen Finalisierten Stringtyp gibt der mehr als die 255 Zeichen (enstrpechend ein shortstring) speichern kann. Falls sich dein Post auf das "TBot" bezieht

hier wie eben jener Typ deklariert ist:
Delphi-Quellcode:
Type Tbot = record
              Botname:string[40];
              Botlvl: byte;
            end;
ansonsten war die mein Problem ja klar. Falls nicht würde ich gerne darauf Verzichten hier darüber zu streiten und das per PM klären.
€: ok vllt bezieht sich das ja auch auf meine Rechtschreibung/Zeichensetzung aber ich glaube nicht das das ein Grund ist auf so ein Tutorial zu verlinken. In einem solchen Fall hätte auch ein netter Hinweiß wie
"achte in Zukunft bitte besser auf deine Rechtschreibung" diesen Zweck erfüllt. Falls es sich auf die Recherche bezieht muss ich sagen das ich mit dem Internet schon oft die Erfahrung gemacht habe das man oft nicht alles findet, vorallem bei doch schon etwas "spezielleren" wünschen.

@nuclearping: also ich möchte nur mal sagen das ich im Grunde schon weiß was ich machen will. Nur weil ich geschrieben habe "hoffentlich geht dann alles glatt^^ also das ich einmal den quelltext ohne Fehler schreibe xD" geschrieben habe bedeutet das noch lange nicht das ich einfach so "drauflos programmiere" das bezog sich wohl eher darauf das ich oftmals einfach nur echte Anfängerfehler mache die mir beim schreiben des Quelltextes nicht auffalen. Wie z.B. eine Variable zurückzusetzen in einer Schleife in der ich diese wieder brauche oder ähnliches. Ich hoffe du verstehst was ich meine.

konstruktive Kritik wie die von Klaus01 oder hinweise wo der Fehler liegen könnte nehme ich dankend an. Jedoch kann ich auf Kommentare wie:

Zitat von nuclearping:
Ich hab gehört, es soll helfen, wenn man erstmal versteht was man machen will, bevor man drauflos programmiert.
getrost verzichten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:20 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