Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism wie soll die schleife geschrieben werden?? (https://www.delphipraxis.net/104222-wie-soll-die-schleife-geschrieben-werden.html)

inherited 5. Dez 2007 14:56

Re: wie soll die schleife geschrieben werden??
 
Du könntest ein wenig Eigeninitiative zeigen und dir Anfängertutorials durchlesen, die brauchst du nämlich. Das ist nicht böse gemeint, würde dir aber ungemein helfen.
Außerdem können wir dir nicht sagen was nicht geht wenn du uns nicht zeigst was du probiert hast.

karim2008 5. Dez 2007 15:03

Re: wie soll die schleife geschrieben werden??
 
ich weiss!auf eine seite hast du recht!Das Quellcode steht ganz oben und was ich gemacht hab, hab das programm am anfang zugefügt!also was in zwischenablage kopiert ist nur das Quellcode!und nicht die werte die im Listbox liegen!!

divBy0 5. Dez 2007 15:09

Re: wie soll die schleife geschrieben werden??
 
Dann zeig doch mal etwas von deinem Code. Was im Post #1 steht wird ja schon älter sein, oder?

Ich glaube aber, dass du durch Copy&Paste nicht zu einem Programm kommst, das funktioniert...

karim2008 5. Dez 2007 15:16

Re: wie soll die schleife geschrieben werden??
 
unit analyserMW;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus,
engine, faults, StdCtrls, ExtCtrls, ComCtrls, ToolWin;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
SetFileBase1: TMenuItem;
Colors1: TMenuItem;
Analyse1: TMenuItem;
Panel1: TPanel;
ListBox1: TListBox;
Label1: TLabel;
Panel2: TPanel;
ListBox2: TListBox;
Label2: TLabel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
ListBox3: TListBox;
StatusBar1: TStatusBar;
PaintBox1: TPaintBox;
Label3: TLabel;
Panel7: TPanel;
PaintBox2: TPaintBox;
procedure SetFileBase1Click(Sender: TObject);
procedure Colors1Click(Sender: TObject);
procedure Analyse1Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure ListBox3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
procedure PaintBox2Paint(Sender: TObject);
private
{ Private declarations }
dhh, dhc: integer;
hindex: array[0..6] of byte;
cfn: string;
procedure readfile(s: string);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses fileselector;

{$R *.dfm}

procedure TForm1.SetFileBase1Click(Sender: TObject);
begin
if filelist.showmodal = mrok then begin;
end;
end;

procedure TForm1.Colors1Click(Sender: TObject);
begin
if colorcode.showmodal= mrok then begin;
end;
end;

procedure tform1.readfile;
var f: textfile; st: string; c: char;
begin;
assignfile(f,s);

reset(f);
while not eof(f) do begin;

readln(f,st);
ps.parseline(st);
end;
closefile(f);
end;

procedure TForm1.Analyse1Click(Sender: TObject);
var i,n:integer; s: string;
begin
n:= filelist.nfiles;
ps.reset;
setlength(operations, n);
filenumber:=0;
if n>0 then for i:=0 to n-1 do begin;
if filelist.isfile(i,s) then begin;
statusbar1.Panels[0].Text:=extractfilename(s);
statusbar1.repaint;
cfn:=s;
readfile(s);
operations[filenumber]:=chip[0].nfl;
inc(filenumber);
statusbar1.Panels[1].Text:=ps.device;
statusbar1.repaint;
end else begin; {its a comment}

end;
end;
listbox1.clear;
for i:=0 to 255 do begin;
if i=52 then begin;
s:='q';
end;
chip[i].countfaults;
with chip[i] do begin;
if (nfaults+ npersistantfaults = 0) then listbox1.items.add(format('%3d '+#9+'%6d',[i, nfaults + npersistantfaults]))
else listbox1.items.add(format('%3d '+#9+'%6d'+#9+' (%d)',[i, nfaults + npersistantfaults, firstfile]))
end;
end;
listbox3.clear;
ps.hlist(listbox3.Items, hindex);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var ch: integer; f: tfault;
begin
listbox2.clear;
label2.Caption:='';
ch:=listbox1.itemindex;
if ch >=0 then begin;
label2.Caption:=format('Chip %d',[ch]);
for f:=ft_tobulkerase to ft_badsignature do begin;
listbox2.items.add(format('%6d '+#9+faultdes[f], [chip[ch].fcount[f]]));
end;
end;
listbox3.ItemIndex:=-1;
paintbox2.Invalidate;
end;

procedure TForm1.ListBox3Click(Sender: TObject);
var c,h: integer;
begin
c:=listbox1.ItemIndex;
if c>=0 then begin;
h:=listbox3.ItemIndex;
if h>=0 then begin;
h:=hindex[h];
dhh:=h; dhc:=c;
paintbox1.Invalidate;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
dhh:=-1; dhc:=-1;
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
ps.drawhist(dhh, dhc, paintbox1);
end;

procedure TForm1.PaintBox2Paint(Sender: TObject);
var cn: integer;
begin
if filenumber<1 then exit else begin;
cn:= listbox1.ItemIndex;
if cn<0 then exit;
ps.drawepf(cn,paintbox2);
end;
end;

end.
[delphi]

karim2008 5. Dez 2007 16:01

Re: wie soll die schleife geschrieben werden??
 
es ist immer das gleich problem!in zwischenablage ist das Quellcode kopiert!Ich weiss nicht was ich noch machen soll!!!!!!!!!!1 :wall:

Sergej 5. Dez 2007 16:49

Re: wie soll die schleife geschrieben werden??
 
Zitat:

Zitat von karim2008
Ich weiss nicht was ich noch machen soll!!!!!!!!!!1 :wall:

Lernen! :roll:

karim2008 5. Dez 2007 16:53

Re: wie soll die schleife geschrieben werden??
 
dafür brauche ich zeit!und wie gesagt bin kein Delphi programmierer!ich brauche ja hilfe weil ich richtig unter Zeit druck

Sergej 5. Dez 2007 17:06

Re: wie soll die schleife geschrieben werden??
 
Zitat:

Zitat von karim2008
dafür brauche ich zeit!und wie gesagt bin kein Delphi programmierer!ich brauche ja hilfe weil ich richtig unter Zeit druck

Okay da du also keine Zeit hast, mach ich dir folgendes Angebot: Du gibts mir 120€ auf die Stunden und ich arbeite für dich. Dazu gehört dann natürlich noch eine Problemanalyse, eine Spezifikation, ein schöner Entwurf und ein dokumentierten Test.

Sollte Interesse bestehen melde dich bei mir unter hier@gibtsnixumsonst.de

karim2008 5. Dez 2007 17:09

Re: wie soll die schleife geschrieben werden??
 
verstehe!so viel geld hab ich nicht!aber danke!

Nuclear-Ping 5. Dez 2007 17:37

Re: wie soll die schleife geschrieben werden??
 
Wenn du unter Zeitdruck stehst, sag deinen Druckmachern, dass das Problem von dir nicht gelöst werden kann, sondern es wahrscheinlich was kostet, sie dafür aber ordentliche Arbeit bekommen.

Verstehe nicht, wie jemand wie du man solche "Programmieraufträge" annehmen kann, wenn er garkeine Ahnung von der Materie hat.

Oder geht es hier um Studium, wo du das Ergebnis in einer Arbeit veröffentlichen möchtest? Oder Hausaufgaben? Ich glaube weder bei dem einen noch bei dem anderen ist das der richtige Weg den du da gehst, noch das richtige Forum.

divBy0 5. Dez 2007 20:17

Re: wie soll die schleife geschrieben werden??
 
Ohne Grundlagen wirst du das echt nicht hinbekommen und dann wirst du unter Zeitdruck damit auf keinen Fall fertig.

Das Projekt am besten abgeben und sich dann erst mal mit den Grundlagen befassen oder zum Selbststudium selbst daran weiterarbeiten. Sorry, aber das wird das Beste sein.

karim2008 6. Dez 2007 17:13

Re: wie soll die schleife geschrieben werden??
 
Es tut mir leid leute!Aber ich gebe wirklich mühe!die prozedure die ich in mein Quellcode einfügen soll sieht so aus( damit daten von listbox gelesen und dann gespeichert)!

procedure TFormListIO.ButtonLesenClick(Sender: TObject);
VAR Datei : TextFile;
Zeile : STRING;
begin
if OpenDialog.Execute then
BEGIN
TRY
AssignFile (Datei,OpenDialog.Filename);
Reset (Datei);
WHILE NOT EOF(Datei) DO
BEGIN
Readln (Datei, Zeile);
ListBoxText.Items.Add (Zeile);
END;
EXCEPT
ShowMessage ('Fehler beim Lesen der Datei!');
END;
CloseFile (Datei);
ButtonLeer.Enabled := ListBoxText.Items.Count >= 1;
ButtonSpeichern.Enabled := ButtonLeer.Enabled;
END;
end;

procedure TFormListIO.ButtonSpeichernClick(Sender: TObject);
VAR Datei : TextFile;
Nr : INTEGER;
begin
if SaveDialog.Execute then
BEGIN
TRY
AssignFile (Datei,SaveDialog.Filename);
Rewrite (Datei);
FOR Nr := 0 TO ListBoxText.Items.Count-1 DO
Writeln (Datei, ListBoxText.Items[Nr]);
EXCEPT
ShowMessage ('Fehler beim Speichern der Datei!');
END;
CloseFile (Datei);
END;
aber die soll ich zu meinem Quellcode einpassen!Ich hab wirklich mehr mals versucht aber das programm funktioniert nicht!vielleicht kann mir jemand helfen oder paar Typ geben!und bitte kein gemeinte Kommentaren!Ich übergebe ja euch nicht meine Aufgaben!das ist auch nicht so gemeint!ich brauche ja hilfe!Danke!
LG

DeddyH 6. Dez 2007 17:24

Re: wie soll die schleife geschrieben werden??
 
Zitat:

Zitat von karim2008
Delphi-Quellcode:
procedure TFormListIO.ButtonLesenClick(Sender: TObject);
VAR Datei : TextFile;
Zeile : STRING;
begin
  if OpenDialog.Execute then
    BEGIN
      TRY
        AssignFile (Datei,OpenDialog.Filename);
        Reset (Datei);
        WHILE NOT EOF(Datei) DO
          BEGIN
            Readln (Datei, Zeile);
            ListBoxText.Items.Add (Zeile);
          END;
      EXCEPT
        ShowMessage ('Fehler beim Lesen der Datei!');
      END;
      CloseFile (Datei);
      ButtonLeer.Enabled := ListBoxText.Items.Count >= 1;
      ButtonSpeichern.Enabled := ButtonLeer.Enabled;
    END;
end;

procedure TFormListIO.ButtonSpeichernClick(Sender: TObject);
VAR Datei : TextFile;
Nr : INTEGER;
begin
  if SaveDialog.Execute then
    BEGIN
      TRY
        AssignFile (Datei,SaveDialog.Filename);
        Rewrite (Datei);
        FOR Nr := 0 TO ListBoxText.Items.Count-1 DO
        Writeln (Datei, ListBoxText.Items[Nr]);
      EXCEPT
        ShowMessage ('Fehler beim Speichern der Datei!');
      END;
      CloseFile (Datei);
   END;
end;

Wer schreibt denn so etwas Umständliches? Versuch es mal so: Du machst in der IDE einen Doppelklick auf den ButtonLesen. Alles zwischen begin und end; sowie die Varaiblendeklarationen löschst Du da raus und fügst das hier ein:
Delphi-Quellcode:
if OpenDialog.Execute then
  try
    ListBoxText.Items.LoadFromFile(OpenDialog.Filename);
    ButtonLeer.Enabled := ListBoxText.Items.Count > 0;
    ButtonSpeichern.Enabled := ButtonLeer.Enabled;
  except
    ShowMessage('Fehler beim Laden der Datei');
  end;
Beim ButtonSpeichern tust Du dasselbe mit diesem Code:
Delphi-Quellcode:
if SaveDialog.Execute then
  try
    ListBoxText.Items.SaveToFile(SaveDialog.Filename);
  except
    ShowMessage('Fehler beim Speichern der Datei');
  end;

Nuclear-Ping 6. Dez 2007 17:25

Re: wie soll die schleife geschrieben werden??
 
Man kann sichs auch schwer machen ... :roll:
Warum nutzt du nicht ButtonSpeichernClick aus der Anwendung, speicherst die Datei, öffnest sie mit Notepad und kopierst dir dann den Inhalt in die Zwischenablage? :gruebel:

DeddyH 6. Dez 2007 17:35

Re: wie soll die schleife geschrieben werden??
 
Achja, mit Zwischenablage war da ja auch noch was. Was sollte da nochmal rein?

Nuclear-Ping 6. Dez 2007 17:54

Re: wie soll die schleife geschrieben werden??
 
Zitat:

Zitat von karim2008
[...] vielleicht kann mir jemand helfen oder paar Typ geben! [...] ich brauche ja hilfe!

Du hast mehr als ein paar Tipps und Hilfe bekommen. Man hat dir gezeigt, was für einen Code du brauchst:
Zitat:

Zitat von Nachtreiter
Das Kopieren ins Clipboard ist ein bischen mehr als eine Zeile.
bei ...die Items einer Listbox in die Zwischenablage kopieren?
gibt es mehrere Lösungen.

[...]

... und was du damit machen sollst:
Zitat:

Zitat von inherited
Zitat:

Zitat von inherited
Du tust die Funktion ListBoxToCLipboard komplett so wie sie ist irgendwo in deinen Quelltext zwischen die anderen Prozeduren, sie muss aber vor der Prozedur in der du sie aufrufst stehen, also pack sie am besten an den anfang.

Und dann rufst du sie, wo auch immer du möchtest, mit "ListBoxToClipboard(NamedeinerListbox)" auf

Wenn du nicht richtig lesen willst (oder kannst) und es nicht schaffst, diese Tipps umzusetzen, was sollen wir denn dann noch machen? :gruebel:

DeddyH 6. Dez 2007 18:10

Re: wie soll die schleife geschrieben werden??
 
Klär mich mal einer auf: was genau soll da in die Zwischenablage?

sirius 6. Dez 2007 18:21

Re: wie soll die schleife geschrieben werden??
 
:gruebel:
Ratet ihr jetzt alleine weiter?

DeddyH 6. Dez 2007 18:22

Re: wie soll die schleife geschrieben werden??
 
Klar, ich habe gerade nix zu tun :D

karim2008 7. Dez 2007 10:43

Re: wie soll die schleife geschrieben werden??
 
hey leute!ich hab geschafft endlich mal den Inhalt von meinem listbox in zwischenablage zu kopieren nun aber ich hab kein zugriff dadrauf wie kann ich die jetzt markieren und dann kopieren??hat jemand ahnung???

DeddyH 7. Dez 2007 10:51

Re: wie soll die schleife geschrieben werden??
 
Zitat:

Zitat von karim2008
hey leute!ich hab geschafft endlich mal den Inhalt von meinem listbox in zwischenablage zu kopieren nun aber ich hab kein zugriff dadrauf wie kann ich die jetzt markieren und dann kopieren??hat jemand ahnung???

:wiejetzt: Wenn Du keinen Zugriff auf die Zwischenablage hast, woher weißt Du dann, dass das Kopieren funktioniert hat?

karim2008 7. Dez 2007 11:03

Re: wie soll die schleife geschrieben werden??
 
ja das Ihnhalt von meinem listbox ist ja auf der Zwischenablge kopiert!und ich wollte paar werte maarkieren und dann kopieren aber ich kann die nicht kopieren auch bei bearbeitung ist nur löschen möglich!!

DeddyH 7. Dez 2007 11:14

Re: wie soll die schleife geschrieben werden??
 
So, mal gaaanz langsam (ich bin ja auch schon über 40)... steht die ListBox auf Multiselect (d.h. Du kannst mehrere Einträge auswählen), und Du willst nur die markierten Einträge in die Zwischenablage kopieren? Oder habe ich das ganz falsch interpretiert?

karim2008 7. Dez 2007 11:35

Re: wie soll die schleife geschrieben werden??
 
hey leute!Es funktioniert!Ich bin wirklich überglücklich :firejump: !ich bedanke mich sehr bei den Leuten die mir geholfen haben!und sorry nochmal für die blöde fragen die ich zwischen durch gestellt hab! :oops: Einfach toll!Danke danke!

DeddyH 7. Dez 2007 12:14

Re: wie soll die schleife geschrieben werden??
 
Jetzt würde mich aber wirklich interessieren, was Du gemacht hast.

Nuclear-Ping 7. Dez 2007 14:02

Re: wie soll die schleife geschrieben werden??
 
Deddy, bitte nicht ... Abgeschlossen und gut. Sonst folgen noch zwei weitere Seiten mit Diskussionen darüber, wie er es hätte besser machen können. :mrgreen:

DeddyH 7. Dez 2007 14:28

Re: wie soll die schleife geschrieben werden??
 
OK, so gesehen... :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr.
Seite 2 von 2     12   

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