AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Programm lässt sich nicht beenden

Ein Thema von Radon · begonnen am 19. Sep 2006 · letzter Beitrag vom 22. Jun 2007
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#11

Re: Programm lässt sich nicht beenden

  Alt 19. Sep 2006, 21:12
Oder einfach so...

Delphi-Quellcode:
program Project1;

uses
  Forms,
  ...
  Unit1 in 'Unit1.pas{FrmMain};

{$R *.res}

begin
  Application.Initialize;

  if ParamStr(1) <> 'then
  begin
    ShowMessage('Sub-Programmstart');
    subprogramm;
    ShowMessage('Programm wird jetzt beendet.');
    Exit;
  end; // Dann brauchts erst gar kein else

  Application.CreateForm(TFrmMain, FrmMain);
  Application.Run;
end.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#12

Re: Programm lässt sich nicht beenden

  Alt 19. Sep 2006, 21:14
stimmt ist mir garnicht aufgefallen (sorry ich miche mich schon wieder ein, aber mich interessiert sein Problem nunmal)
  Mit Zitat antworten Zitat
Benutzerbild von Radon
Radon

Registriert seit: 15. Mai 2006
29 Beiträge
 
#13

Re: Programm lässt sich nicht beenden

  Alt 19. Sep 2006, 22:26
ööh.. hups.

daran lags wohl anscheinend.

naja, bin ja anfänger. <- ausrede
und hab heut wieder was gelernt. ich mach das lieber mit dem else, in den übergeordneten Quellcode will ich mal lieber nicht unbedingt eingreifen wenn es auch noch anders geht.

Danke euch allen!!
  Mit Zitat antworten Zitat
Benutzerbild von Radon
Radon

Registriert seit: 15. Mai 2006
29 Beiträge
 
#14

Re: Programm lässt sich nicht beenden

  Alt 20. Sep 2006, 14:24
Hat geklappt. Aber nun hat sich ein neues Problem aufgetan:

Delphi-Quellcode:
    FFileExt := ExtractFileExt(ParamStr(1)) ;

    case FFileExt of
      '.ut2': FPathToDir := '\Maps\';
      '.utx': FPathToDir := '\Textures\';
      '.usx': FPathToDir := '\StaticMeshes\';
      '.uax': FPathToDir := '\Sounds\';
      '.ukx': FPathToDir := '\Animations\';
      '.ka': FPathToDir := '\KarmaData\';
      '.ogg': FPathToDir := '\Music\';
      '.upl': FPathToDir := '\System\';
      '.u'  : FPathToDir := '\System\';
      '.ucl': FPathToDir := '\System\';
      '.frt': FPathToDir := '\System\';
      '.int': FPathToDir := '\System\';
      '.ini': FPathToDir := '\System\';
    else

      ShowMessage('Unbekannte Dateiendung! Bitte ggf. manuell verschieben! Sorry =)');

    end;
Da hab ich jetzt praktisch das so eingestellt, dass die Endung genommen wird und verglichen wird, wonach sich das Zielverzeichnis richtet.

Errors bekomme ich direkt bei dem "case FFileExt of" (FFileExt ist als String deklariert) und der debug besagt "Ordinal type required"
und in Jeder Möglichkeit des Cases kommt die Meldung "Incompatible types: Integer and String" dabei sind das doch beides Strings...

Hängt das vielleicht mit der Änderung der Programmreihenfolge da zusammen?

Würd mich freuen wenn ich dazu noch schnell hilfe bekomme, denn das ist der vorletzte Teil des Programms!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Programm lässt sich nicht beenden

  Alt 20. Sep 2006, 14:27
CASE kennt nur ordinale Typen ... für Strings geht sowas nicht.

Könntrst ja verschachtelte IFs verwenden

Delphi-Quellcode:
If S = 'abcThen Begin

End Else If S = 'defThen Begin

End ....
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

Re: Programm lässt sich nicht beenden

  Alt 20. Sep 2006, 14:30
Oder einfach viele IFs hintereinander:
Delphi-Quellcode:
if s = '1then
if s = '2then
...
Was wird denn kopiert? Zufällig UT2004?

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Programm lässt sich nicht beenden

  Alt 20. Sep 2006, 14:35
Zitat von Florian Bernd:
Oder einfach viele IFs hintereinander
dann werden aber immer alle IFs ausgewerte
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von luigied
luigied

Registriert seit: 14. Jan 2006
31 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Programm lässt sich nicht beenden

  Alt 20. Sep 2006, 15:04
Hi.
Du könntest auch ne prozedur schreiben, die die Dateierweiterung überprüft, nur das sie als Parameter die schon durchsuchten enthält.

Dazu müsstest du die bekannten extensions aber in nem Array speichern.

Delphi-Quellcode:
procedure check(ext: string, Anzahl_der_ueberprüften: integer);
begin
if(!ext = extA(Anzahl_der_ueberprüften) then
  check(ext, Anzahl_der_ueberprüften +1);
else begin
  Verschiebung
  break // müsste rekursiven Aufstieg verhindern
end;
nicht getestet, aber sollte so in etwa hinhauen

Sorry wenn meine Beiträge etwas sinnlos sind bin aber
1. Anfänger und hab 2. in letzter Zeit kaum noch Zeit für Delphi, da ich beruflich mit
php arbeiten muss
mfg, Luigi
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#19

Re: Programm lässt sich nicht beenden

  Alt 20. Sep 2006, 21:15
@Radon

Erstelle doch bitte ein neues Thema für Deine 2. Frage.
Die Modis sehen es nicht gerne, wenn pro Thema mehrere Fragen unterschiedlicher Themen gestellt werden.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Radon
Radon

Registriert seit: 15. Mai 2006
29 Beiträge
 
#20

Re: Programm lässt sich nicht beenden

  Alt 22. Sep 2006, 18:52
Jau, sorry. Dachte das gehört noch irgendwie dazu.

Habs jedenfalls jetzt mit verschachtelten If-Abfragen gelöst und es klappt. Thx!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:12 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