Autor Beitrag
Blah_Blahson
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.03.07 15:41 
So, ist mir jetzt egal ob ich hier mit Use Search First zugelabert werde, aber ich hab's eilig und beherrsche Delphi einfach zu schlecht um da jetzt rumzuknobeln.
Also:

Eine Textdatei, in die ich schon was reingeschrieben habe, soll vom Programm geöffnet werden, dort soll aus zwei bestimmen, variabel festzulegenden Zeilen der jeweilige Wert (Integer) gelesen werden. Mit diesen Werten (sagen wir x und y) soll irgendeine Rechnung vollzogen werden. Meinetwegen sowas wie x:=x+z und y:=y+z. Der neuen Werte sollen die alten Werte in der Textdatei überschreiben.

Zusätzlich soll man über irgendeinen Button diese Textdatei öffnen können.

Ich danke im Voraus.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 18.03.07 15:44 
Am einfachsten ist es, wenn du die Datei in eine TStringList lädst. Dann kannst du nämlich mit StringList[Zeilennummer] auf die Zeilen zugreifen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Blah_Blahson Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.03.07 15:50 
Schon mal ein guter Tipp. Nur ist mein Problem, dass ich diese Öffnen- Schreiben- und Speicheralgorithmen nicht mehr kenne. (Die stehen nämlich lustigerweise nur in einem Quelltext auf meinem Account im Schulnetzwerk ^^)
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 18.03.07 15:55 
Kennst du die Hilfe von Delphi oder die Forumssuche? :roll:

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Blah_Blahson Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.03.07 16:01 
Siehe oben.
Die Delphi Hilfe ist mir nicht aufschlussreich genug, deshalb meinte ich auch ich hätte weder Lust noch Zeit, da jetzt rumzuprobieren.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 18.03.07 16:02 
Kannst du denn Englisch?
Aus Datei Laden = LoadFromFile
In Datei speichern = SaveToFile

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Blah_Blahson Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.03.07 16:23 
Boah, noch nebulöser geht's echt nicht. Was mir die Hilfe dazu verzapft, ist für mich soviel wie Babygebrabbel. Ich bin einfach ne Niete in Delphi und kann deswegen auch nichts mit der Scheisshilfe anfangen, weil die einfach mal voraussetzt, dass ich das Programmieren richtig verstanden habe, hab ich aber nicht, weil ich im Infounterricht grade mal nen Crashkurs darin bekomme. Ist denn das so schwer zu verstehen, dass ich mit nem Stück Quelltext mehr anfangen kann als mit jeglicher Delphi-Hilfe und sonstigen Tipps zusammen? Bis morgen muss ich mein dummes Projekt fertig haben, ich komme aber nicht weiter, weil ich diese Programmierumgebung nicht kapiere. Und ich hab auch keine Zeit, mir an einem Tag alles nötige rauszufummeln, weil's auch noch andere Sachen gibt, die ich heute machen muss. Also bitte...
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 18.03.07 16:40 
Du kannst hier nicht erwarten, ohne Eigenleistung ein fertiges Programm zu kriegen. Spätestens in ner Prüfung kommste damit nicht mehr durch.

Das was du von der StringList dafür benutzen musst ist folgendes:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
TSTringList.Create;
DeineStringList.LoadFromFile
DeineStringList[Zeilennummer]
DeineStringList.SaveToFile
DeineStringList.Free


Zum Textdatei öffnen:
Wenn du damit im Standardprogramm öffnen meinst: ShellExecute

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 18.03.07 16:43 
Am besten Du stellst mal deinen bisherigen Code hier rein, und stellst dann konkrete Fragen wo Du nicht weiterkommst.
Dann ist es für alle bestimmt etwas einfacher.:wink:

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Blah_Blahson Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.03.07 17:23 
So, einfach den Kommentar ab 117 lesen.

@jakobwenzel: Hab eh nicht vor, mich nach der Schulzeit noch mit Programmieren zu beschäftigen, von daher ist mir das recht wuppe.


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
unit UTicket;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ComboBoxPrice: TComboBox;
    ComboBoxPay: TComboBox;
    ButtonConfPrice: TButton;
    ButtonConfPay: TButton;
    LabelToPay: TLabel;
    LabelPayed: TLabel;
    LabelToPayDisp: TLabel;
    LabelPayedDisp: TLabel;
    GroupBoxStatus: TGroupBox;
    EditStatus: TEdit;
    GroupBoxAction: TGroupBox;
    ButtonAbort: TButton;
    procedure ButtonConfPriceClick(Sender: TObject);
    procedure ButtonConfPayClick(Sender: TObject);
    procedure ButtonAbortClick(Sender: TObject);


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  topay: integer;          {Die Variable legt fest, wie viel noch zu zahlen ist}        
  justpayed: integer;      {Die Variable legt fest, welche Münze [b]gerade eben[/b] eingeworfen wurde}
  everpayed: integer;      {Die Variable legt fest, wie viel insgesamt schon für die Karte gezahlt wurde}
  StringListVerkauf: TStringList;


implementation

{$R *.dfm}

//-----------------------------------------------------------------------
//---------------Ticket wählen-------------------------------------------
//-----------------------------------------------------------------------


procedure TForm1.ButtonConfPriceClick(Sender: TObject);
begin

   case ComboBoxPrice.ItemIndex of
   -1: Beep;
   0: topay:=2;
   1: topay:=4;
   2: topay:=5;
   end;

   everpayed:=0;
   justpayed:=0;
   LabelToPayDisp.Caption:=inttostr(topay);
   LabelPayedDisp.Caption:=inttostr(everpayed);
   EditStatus.Text:='Ticket gewählt - Erwarte Zahlung';

   ComboBoxPay.Enabled:=true;
   ComboBoxPrice.Enabled:=false;
   ButtonConfPay.Enabled:=true;
   ButtonConfPrice.Enabled:=false;
   ButtonAbort.Visible:=true;

end;

//-----------------------------------------------------------------------
//---------------Ticket zahlen-------------------------------------------
//-----------------------------------------------------------------------


procedure TForm1.ButtonConfPayClick(Sender: TObject);
begin

   case ComboBoxPay.ItemIndex of
   -1: Beep;
   0: justpayed:=1;
   1: justpayed:=2;
   2: justpayed:=5;
   end;

 if topay>0 then
 if topay-justpayed>=0 then
  begin
   ButtonConfPrice.Enabled:=false;
   everpayed:=everpayed+justpayed;
   topay:=topay-justpayed;
   LabelPayedDisp.Caption:=inttostr(everpayed);
   LabelToPayDisp.Caption:=inttostr(topay);

      if topay=0 then
       begin

       ButtonAbort.Visible:=false;
       ButtonConfPrice.Enabled:=true;
       ButtonConfPay.Enabled:=false;
       ComboBoxPrice.Enabled:=true;
       ComboBoxPay.Enabled:=false;

{Dieses Ausschalten hab ich nur der Idiotensicherheit halber gemacht} 

       EditStatus.Text:='Ticket bezahlt - Erwarte Ticketwahl';

{Die Fahrkarte ist jetzt also bezahlt, jetzt muss nur noch in der Textdatei Verkauf.txt deren Preis geschrieben werden
damit unser imaginärer Bahnangestellter das bisher eingenommene Geld zählen kann}



       TStringList.Create;
       StringListVerkauf.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Verkauf.txt');
       StringListVerkauf[1];
       StringListVerkauf.SaveToFile(ExtractFilePath(Application.ExeName) + 'Verkauf.txt');
       StringListVerkauf.Free;

{so, hier habe ich schon mal das reingeknallt, was mir der Herr von oben aufgeschrieben hat... da muss jetzt nur noch der
Zugriff auf die Zeile rein (hab hier mal ne 1 für ne Zeile genommen damit ich das compilieren konnte), das Rauslesen des
Integerwertes, die Berechnung (s.o.) - ich gehe, abweichend von meiner Problembeschreibung, mal nur von einer Zeile aus
die ersetzt werden muss. Insofern kann man bei der 1 für die Zeilenangabe bleiben. Der Wert, der zum Integerwert aus der
Datei addiert werden soll, ist in der Variable everpayed. Also würde die Rechnung quasi so aussehen:
WertAusDatei := WertAusdatei + everpayed;}




       end
       else
       EditStatus.Text:='Eingabe registriert - Erwarte Zahlung';
  end

 else
  begin
   Beep;
  end;

end;

//-----------------------------------------------------------------------
//---------------Abbruch-------------------------------------------------
//-----------------------------------------------------------------------

procedure TForm1.ButtonAbortClick(Sender: TObject);
begin
   topay:=0;
   justpayed:=0;
   everpayed:=0;

   ButtonAbort.Visible:=false;
   ButtonConfPrice.Enabled:=true;
   ButtonConfPay.Enabled:=false;
   ComboBoxPrice.Enabled:=true;
   ComboBoxPay.Enabled:=false;

   EditStatus.Text:='Zahlung abgebrochen - Erwarte Ticketwahl';
   LabelPayedDisp.Caption:=inttostr(everpayed);
   LabelToPayDisp.Caption:=inttostr(topay);


end;



end.