Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Cs Skriptpack by Blacky (https://www.delphipraxis.net/32535-cs-skriptpack-blacky.html)

Sanchez 25. Okt 2004 08:00

Re: Cs Skriptpack by Blacky
 
Hi,
Zitat:

Zitat von Blackeagle
Code:
 
    if ... and (Label16.Caption +'\autoexec.cfg')=0 then begin
      ...  
    end else if ... and (Label16.Caption +'\autoexec.cfg')=1 then begin
      ...
    end;

Dieser String kann niemals true, false, 0 oder 1 sein. Was willst du damit überhaupt erreichen?
Der String wird, wie Luckie schon geschrieben hat, zumindest '\autoexec.cfg' beinhalten.
Wenn du wissen willst ob die Datei existiert, solltest du dir mal FileExists ansehen.

grüße, daniel

Blackeagle 25. Okt 2004 13:00

Re: Cs Skriptpack by Blacky
 
Jaja du hast ja Recht ;-)

Ich gebe zu, dass ich ein Newbie in dieser Skriptsprache bin, doch nach ein bissl basteln *bastel bastel* dürfte ich die Lösung jetzt gefunden haben :)

Code:
 sl:=TStringList.Create;

    if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) then begin
     sl.Add('exec Netsettings.cfg');
     sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
    end
    else if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
     sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
      if pos('exec Netsettings.cfg', sl.Text)=0 then begin
       sl.Add('exec Netsettings.cfg');
       sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
      end;

so da ist mein neuer Code... der funktioniert so und ich kann mich nicht beschwerden jetzt werde ich nur noch andere bugs beheben und das pack verbessern ... ich bedanke mich schonmal für eure Hilfe und hoffe auf weiter Hilfe bei wohl möglichen Fragen :)

Blacky

Nicodius 25. Okt 2004 13:05

Re: Cs Skriptpack by Blacky
 
--> zur codeformatierung

auf luckies seite findest du das ;)

tommie-lie 25. Okt 2004 13:32

Re: Cs Skriptpack by Blacky
 
Zitat:

Zitat von Blackeagle
Ich gebe zu, dass ich ein Newbie in dieser Skriptsprache bin

Skriptsprache? Delphi? :wiejetzt:
Es gibt ja nicht viele Dinge, mit denen man sich bei mir disqualifizieren kann, aber sowas ist nah dran...

Hast du eigentlich die Rechte an den Pfeilbuttons und dem Beenden-Button? Die erinnern schon auf den ersten Blick sehr stark an die WindowsXP-Buttons.

Und Luckies Bitte, zu sagen, was dein Programm überhaupt macht, bist du soweit ich sehe auch noch nicht nachgekommen. Ist Cs CounterStrike (dann ist die übliche Abkürzung CS) oder C# oder Christians Softwareladen?

Sanchez 25. Okt 2004 13:32

Re: Cs Skriptpack by Blacky
 
Ich weiss zwar immer noch nicht was du machen willst, aber ich bin mir sicher, dass es mit deinem Code nicht funktioniert.
Code:
 
sl:=TStringList.Create;

if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) then begin
  sl.Add('exec Netsettings.cfg');
  sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
end else if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
  sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
 
  if pos('exec Netsettings.cfg', sl.Text)=0 then begin
    sl.Add('exec Netsettings.cfg');
    sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
  end;
1. Es fehlt ein end; am Ende. Vielleicht hast du es ja nur kopieren vergessen.
2. Die Stringliste solltest du am Ende wieder freigeben: s1.Free;
3. Bei der If-Abfrage kannst du niemals ins else kommen, weil die ersten beiden Terme der Else-Bedingung nur wahr sind, wenn das if schon wahr ist. Der letzte Term kann niemals wahr sein.
Wenn in Label16 nichts steht vergleichst du '\autoexec.cfg' mit 'false'. Ich hab keinen Plan wieso, aber es kann nur falsch sein.

Wenn du mir sagst was du machen willst, sag ich dir wie es geht :mrgreen:

grüße, daniel

Blackeagle 25. Okt 2004 17:19

Re: Cs Skriptpack by Blacky
 
K, also als erstes sollte ich andere Buttons nehmen (habe den weiter / zurück von winXp und Abbrechen von Nero .. :/

Und Cs = CounterStrike.. Es ist halt ein Skriptpack mit install-exe... es erstellt, nachdem man im "wizard" etwas eingegeben hat texte, die zum spielen gut sind...



1. Beim Kopieren vergessen

2. Beim Kopieren vergessen

3. Er soll checken ob der Text autoexec.cfg besteht und wenn ja was da rein schreiben und wenn nicht soll er eine erstellen und nichts rein schreiben... doch wenn das kontrollkästchen aus ist, dann soll er KEINE erstellen weder mit noch ohne schrift drin :)

Und so funktioniert es.

Greetz
Blacky

Blackeagle 25. Okt 2004 18:11

Re: Cs Skriptpack by Blacky
 
K leider muss ich zugeben, dass es jetzt auch nicht mehr so ganz will :(

Blackeagle 25. Okt 2004 18:26

Re: Cs Skriptpack by Blacky
 
Das Problem bei dem Code oben ist, dass er dann nicht "exec Binds.cfg" in die autoexec.cfg addet, sondern eine neues autoexec.cfg erstellt und es da drin addet.. aber somit die alte löscht...

Hier nochmal der Code:

Code:
...
 sl:=TStringList.Create;

    if (Checkbox2.checked = true) then begin
     sl.Add('exec Binds.cfg');
     sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
    end
    else if (Checkbox2.checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
     sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
      if pos('exec Binds.cfg', sl.Text)=0 then begin
       sl.Add('exec Binds.cfg');
       sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
      end;
    end;
 end;
...
Bedanke mich schonmal für eure Bemühungen :)

Sanchez 25. Okt 2004 19:03

Re: Cs Skriptpack by Blacky
 
Wenn du etwas einer Datei anhängen willst, dann musst du die Datei vorher schon laden.
Etwa so:
Delphi-Quellcode:
   s1.LoadfromFile(Label16.Caption + '\autoexec.cfg');
grüße, daniel

Blackeagle 25. Okt 2004 19:17

Re: Cs Skriptpack by Blacky
 
Was jeweils zwischen den 5 x * steht (*****), da bin ich mir alles andere als Sicher, oder weiss es nicht.

Code:
     
 if (Checkbox2.checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
  sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
  sl.Add('exec Binds.cfg');
  sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
   *****if pos('exec Binds.cfg', sl.Text)=0 then begin******
   *****Mache nichts, wenn der Eintrag vorhanden ist.....*****
   end;
 end
 else
  sl.Add('exec Commands2.cfg');
  sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
 end;
Nochmal eine Genauere Beschreibung (da ich keine Ahnung habe ob es oben überhaupt richtig ist...)

ALLES (oben) soll nur funktionieren, wenn die Checkbox2 = true ist... (sonst soll er garkeinen Eintrag erstellen [nichtmal eine leere autoexec.cfg erstellen])

- (falls die Datei vorhanden ist) soll er dann "exec Bins.cfg" in der autoexec.cfg HINZUFÜGEN
- (falls die Datei nicht vorhanden ist) soll er sie erstellen mit den Eintrag
- (falls Der eintrag "exec Binds.cfg" schon in der autoexec.cfg existiert soll er nichts machen.


Wäre nett, wenn du (oder jmd anderes) mir den Code hier posten könnte :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr.
Seite 2 von 3     12 3      

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