AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Prblem bei erstellen einer txt datei
Thema durchsuchen
Ansicht
Themen-Optionen

Prblem bei erstellen einer txt datei

Ein Thema von jonsen2.0.0.9 · begonnen am 6. Dez 2009 · letzter Beitrag vom 6. Dez 2009
Antwort Antwort
Seite 2 von 2     12   
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#11

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:27
ja hab angesehen und versuche das gerade bei mir einzubauen nur du siehst ja welche fehler da auftauchen warum auch immer...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#12

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:27
Zitat von jonsen2.0.0.9:
es gibt keine Fehlermeldung sondern der Taskmanager meint keine Rückmeldung und meine CPU ist bei 90-100%(beide) auslastung (duel core 3ghz pro kern)
und warte mal etwas ... irgendwann kommt 'ne "Stack-Voll"-Exception

und genau sowas fällt beim Debuggen auf

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ..
  Close;
end;
OnClose (diese Prozedur) wird aufgerufen
Close ruft ebenfalls Diese (sich selber) auf
= Endlosschleife


und dann nochwas:
=true oder =false nutzt man NIE zum vergleichen/prüfen
die globale Objektvariable (hier Form1) nutzt man NIE innerhalb des Objektes selber
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#13

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:28
Zitat von jonsen2.0.0.9:
ja hab angesehen und versuche das gerade bei mir einzubauen nur du siehst ja welche fehler da auftauchen warum auch immer...
Also bei mit läuft es ohne Exceptions, ohne hohe CPU :/
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#14

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:31
was nutze ich denn anstelle von =true = false?

gut DANKE für den tipp mit der endlosschleife geht ohne die

und das programm läuft jetzt auch so wie es laufen soll...DANKE AN ALLE
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#15

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:32
michael habe bei mir auch was geändert um das an mein programm anzupassen...hab aber etwas falsch gemacht !

hatte ausversehen endlosschleife drin....
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#16

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:37
Weil du wahrscheinlich eine Endlosschleife programmiert hast
Man macht keine for-Schleifen über Listen, deren Elemente in der for-Schleife gelöscht werden. Irgendwann greift die Laufvariable ins Leere. Das löst man besser mit while. (So als Anmerkung)
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:40
Zitat von jonsen2.0.0.9:
was nutze ich denn anstelle von =true = false?
Das wurde z.T. bereits geschrieben:

Delphi-Quellcode:
// true
if CheckListBox1.Checked[i] then

// false
if not CheckListBox1.Checked[i] then
Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#18

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 13:44
Zitat:
Man macht keine for-Schleifen über Listen, deren Elemente in der for-Schleife gelöscht werden. Irgendwann greift die Laufvariable ins Leere. Das löst man besser mit while. (So als Anmerkung)
Was spricht denn außer ästhetischen Gründen dagegen? Die Laufvariable ist am Ende meist 0, und das ist dann, wenn ich das letzte Element lösche, bevor die Schleife zuende ist. Oder ist das falsch?
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#19

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 16:48
Will man alle Einträge einer Liste löschen, ist while ideal:
while Liste.Count > 0 do Liste.Delete(0); Will man nur Einträge löschen, die einer bestimmten Bedingung genügen dann ergäbe eine for-Schleife (im Mindestfall) falsche Ergebnisse.
Beispiel:
Delphi-Quellcode:
for i:=0 to Liste.Count-1 do begin
  if Liste[i]=Bedingung then Liste.Delete(i);
end;
Angenommen, die Liste hat 5 Einträge (0..4) und Eintrag 2 erfüllt die Bedingung. Dann würde er gelöscht und Eintrag 3 würde zu 2 und 4 zu 3. Die Laufvariable i wird aber erhöht und prüft als nächstes Liste[3], die ja vorher die 4 war. Die eigentliche ursprüngliche 3 wird gar nicht mehr geprüft, sondern "übersprungen".
Das sind so die kleinen Stolpersteine, die einen dann ins Grübeln bringen
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#20

Re: Prblem bei erstellen einer txt datei

  Alt 6. Dez 2009, 17:02
@Progman: darum läßt man in soeinem Fall die Schleife rückwärts laufen,
so wie es auch schon gemacht wurde.
for i := Pred(CheckListBox1.Items.Count) downto 0 do Dann gibt es dieses Problem auch nicht.

Beim Vorwärtslaufen gibt es 2 Probleme:
- Delphi merkt sich das Ende der schleife und fragt dieses nur einmal ab
drum kann man da auch über das Listenende hinausgeraten, wenn die Liste kürzer wird
- wird etwas gelöscht, dann wird der nächste Index übersprungen, da er ja nun den selben Index bekommen hat
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:37 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