AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie viel wurde schon geschrieben? Progressbar
Thema durchsuchen
Ansicht
Themen-Optionen

Wie viel wurde schon geschrieben? Progressbar

Ein Thema von Selecta · begonnen am 10. Jan 2005 · letzter Beitrag vom 10. Jan 2005
Thema geschlossen
Selecta

Registriert seit: 13. Okt 2004
22 Beiträge
 
Delphi 7 Architect
 
#1

Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 17:04
hi all
Bis jetzt bin ich sehr gut mit der Board suche durchgekommen. wenn ihr einen eintrag zur Lösung von meinem Problem findet, lasst es mich wissen .

Ich schicke jeweils immer eine Zeile aus einer .txt durch die serielle Schnittstelle. (USB/RS232 )
Nun würde ich gerne durch eine Progressbar Anzeige die Dauer der Übertragung anzeigen lassen.
Nur wie bekomme ich die Grösse der gesendet Daten?
Da ich es über writeln mache. Mit Blockwrite wäre es ja kein Problem.

Ein bisschen Code dazu
Delphi-Quellcode:
begin
  SerialPortNG1.ClearRxDQueue; //löscht die Windowsempfangsqueue
  // Damit nur die aktuellsten Werte ausgelesen werden
  pause (500); // *Gähn* auf Queue warten
  abort := false;
  try
    Assignfile(f, NameEdit.Text);
    Reset(f);
  except
    on EinOutError Do
      ShowMessage('Datei Öffnen fehlgeschlagen');
    end;
  Fileisopen := true;
  FSize := FileSize(f);
  AbortBtn.Enabled := true;
  SendBtn.Enabled := false; //Disable the Send Button prevent multiple Sending
  ReadLn(f, Info); //First Entry Info?
  info := Copy(info,1,4);
  Progressbar1.Max := FSize;
  while not EOF(f) or abort = true do
  begin
    if not (info = 'Info') then
    begin
      Readln(f, Sendbuffer);
      SerialPortNG1.SendString(sendBuffer + #13#10); // Send String
      while SerialPortNG1.SendInProgress do
      begin
        Application.ProcessMessages;
      end;
      ifread := Copy(sendBuffer,3,1); //Must be Read??
      if (ifread = '1') then
      begin
        pause(20);
        read := SerialPortNG1.ReadNextClusterAsString();
        rSlave := Copy(read,1,2);
        rData := Copy(read,13,4);
        rAddress := Copy(read,9,4);
        ListenZeile := (rSlave+' '+rAddress+' '+rData);
        ListBox2.Items.Add(ListenZeile);
      end;
    end //if Info
    else
    begin
      info := ':-)';
    end;

  end; //While
  CloseFile(f);
end;
Naja hab mit delphi/programmieren erst angefangen
Wenn wir schon dabei sind, euch ist sicher auf der 5. letzten Zeile das "" aufgefallen, hat jemand ne andere Idee?

Ich hoffe ich habe es verständlich formuliert
Danke für die Hilfe
grz Selecta
 
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 17:29
Zitat von Selecta:
Nur wie bekomme ich die Grösse der gesendet Daten?
Kann sein, dass ich jetzt irgendwas nicht verstanden habe ....

Du hast doch deine jeweils eingelesene Textzeile in einem String. Dessen Länge kannst du doch bestimmen (length).
 
Selecta

Registriert seit: 13. Okt 2004
22 Beiträge
 
Delphi 7 Architect
 
#3

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 17:36
Jep, das stimmt schon.
aber mit Filesize() bekomme ich ja die Grösse in Byte an.
und dann kann ich ja die länge nicht gebrauchen, oder schon ?
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 17:37
Nun ja, ein Byte entspricht einem Zeichen.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Selecta

Registriert seit: 13. Okt 2004
22 Beiträge
 
Delphi 7 Architect
 
#5

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 17:49
nun ja, wenn das so ist.
DANKE
Die gelesene Zeile + 2 für das CR und LF.
kewl, dankeschön

Vielleicht könnt ihr mir noch mehr helfen.
Es Soll ein Pfadname eingeben und eine Datei mit der Endung .txt erzeugt werden.
Wenn der User jetzt aber keine Endung oder eine andere Endung angibt.
Soll die Endung auf .txt geändert werden.

Delphi-Quellcode:
begin
  if nameedit.Text = 'then
  begin
    Showmessage('No Path in Makroname:');
    exit;
  end;
  Fileext := ExtractFileExt(nameedit.Text);
  if not (Fileext = '.txt') then
  begin
    Changefileext(nameedit.Text,'.txt');
    if Fileext = 'then
    nameedit.text := nameedit.text + '.txt';
  end;
Bei ExtractFileExt bekomme ich aber nichts zurück
 
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 18:01
Delphi-Quellcode:
If ExtractFileExt(Editname.Text) <> 'then
 Blabla.SaveToFile(EditName.Text)
else
 BlaBla.SaveToFile(EditName.Text+'.txt');
Und nächstes mal: Neue Frage, neuer Thread
Julian J. Pracht
 
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 18:06
Zitat von Selecta:
Bei ExtractFileExt bekomme ich aber nichts zurück
Dann war wohl keine Erweiterung vorhanden.

Ansonsten: Neue Frage, neuer Thread.
 
Selecta

Registriert seit: 13. Okt 2004
22 Beiträge
 
Delphi 7 Architect
 
#8

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 18:07
danke
Es gibt schon viele threads und solange der thread noch in den 10 neusten ist, wird sicher einer mit genügend Kentnissen drüberstolpern und mir eine lösung geben
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Wie viel wurde schon geschrieben? Progressbar

  Alt 10. Jan 2005, 18:13
Nein. Erstell bitte für jede neue Farge einen neuen Thread. Erstens damit es hier nicht drunter und drüber geht und zweitens damit das Topic noch was mit dem besprochenen Problem zu tun hat und so die Suche erleichterent, wenn man was bestimmtes sucht.

Aus diesem Grund:
G E S C H L O S S E N
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Thema geschlossen


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 06:30 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