AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schulprojekt

Ein Thema von Abiturient · begonnen am 31. Jan 2006 · letzter Beitrag vom 26. Feb 2006
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Schulprojekt

  Alt 31. Jan 2006, 22:28
Zitat von GLaforge:
Kann mir dann jemand von der Infoschülern sagen was eine Quotiententermalgebra ist und sein Programm durch Hoare-Kalkül verifizieren (Inhalt des 1.Semesters).
Ne nicht wirklich
Gut du hast gewonnen.

Aber nur so aus reiner Neugier: Was ist das? Kannste mir ja notfalls auch per PN mitteilen.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Abiturient

Registriert seit: 31. Jan 2006
6 Beiträge
 
#22

Re: Schulprojekt

  Alt 6. Feb 2006, 11:58
so. erst mal vielen dank für eure hilfe. ich denke das ich das mit der ini datei hinbekommen werde.
  Mit Zitat antworten Zitat
Abiturient

Registriert seit: 31. Jan 2006
6 Beiträge
 
#23

Re: Schulprojekt

  Alt 26. Feb 2006, 12:06
ich habe mein programm jetz so weit, das ich autos in eine ini datei speichern und sie auch wieder aus dieser datei laden kann. ich hab aber keine ahnung wie ich eine suchfunktion gestalten kann. D.h. ich möchte z.B. in einer checkbox eingeben wie viel ps das auto haben soll(z.B. 120-150) und dann sollen mir alle autos in einer liste angegeben werden, die so viel ps haben. ich hoffe ihr helft mir weiter.
Angehängte Dateien
Dateityp: rar projekt_200.rar (179,7 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
JocalAreaNetwork

Registriert seit: 19. Aug 2005
35 Beiträge
 
Delphi 2006 Architect
 
#24

Re: Schulprojekt

  Alt 26. Feb 2006, 12:35
Wenn du alle deine Autos in einem Array eingelesen hast, dann musst du nur eine Schleife drüberlaufen lassen und dir merken, welche Autos deine Bedingungen erfüllen. Das ist nicht besonders schnell, aber es dürfte bei deinem Projekt vollkommen reichen.
  Mit Zitat antworten Zitat
Abiturient

Registriert seit: 31. Jan 2006
6 Beiträge
 
#25

Re: Schulprojekt

  Alt 26. Feb 2006, 15:41
ich hab jetz die autos in einem array eingelesen. aber ich kann die nicht laden, indem ich die ps zahl eingebe. (siehe form2 im programm) könnt ihr mal bitte gucken ob ihr nen fehler entdeckt?
Angehängte Dateien
Dateityp: rar projekt1_861.rar (176,1 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#26

Re: Schulprojekt

  Alt 26. Feb 2006, 16:19
Hi,
sorry aber ich denke keiner wird dir hier weit helfen können, deine Unit2 / Form2 fehlt einfach im Anhang.
Und ich muss leider noch jede Menge Kritik am Code üben. Jeder der dir helfen möchte, wird es sich sicherlich noch einmal überlegen, wenn er den Codestil sieht. Aber insbesondere solltest du auch für dich selbst an einem besseren Stil arbeiten. Versteh mich nicht falsch, weder kann noch will ich dir hier einen vorschreiben, aber je strukturierter der Code, desto leichter verständlich (für jeden!) und damit auch viel viel weniger Fehleranfällig.
Deshalb solltest du einfach mal mit hierachischem einrücken anfangen
Delphi-Quellcode:
begin
  if Irgendwas then
    begin
      Foo1;
    end
  else if IrgendwasAnderes then
    begin
      Foo2;
    end;
end
Ich denke hier siehst du schon recht einfach, wo der Vorteil von einer solchen Einrückung ist, noch mal als Kontrast
Delphi-Quellcode:
begin
if Irgendwas then
Foo1; else
if IrgendwasAnderes
Foo2;
end
Da muss man doch sehr viel deutlicher hinschauen um zu wissen, welches Foo zu welcher Bedingung gehört. Insbesondere solltest du pro Zeile auch immer nur eine Anweisung benutzen. Man überliest leicht dein else in Vorgängerzeilen und es gibt auch Möglichkeiten, die sich nicht ausschließen...
Ansonsten solltest du auch Destruktoren benutzen. Wenn du etwas mit .Create anlegst, dann wird speicher allokiert, der sollte aber auch irgendwann wieder frei gegeben werden. Insbesondere gilt hier, dass du nur eine Referenz (typisierter Zeiger auf eine Instanz) speicherst.
Delphi-Quellcode:
var iniFile : TIniFile;
begin
  iniFile := TIniFile.Create(DATEI); // erstes Mal speicher alloziert
  ...
  iniFile := TIniFile.Create(DATEI); // gleiche Datei, aber zweites Mal speicher alloziert
  ...
  iniFile.Free; // letzte Instanz frei gegeben, aber eben nur die letzte
end;
Wenn du das z.B. mal mit einer Bitmap als Klassenvariable machst (oder etwas anderem, was nur groß genug ist), dann hast du deinen Speicher ruck-zuck zugemüllt. Das führt unter Win9x gerne zu komplettem Stillstand und unter den NTs zu Performance einbrüche (da der virtuelle Speicher etwas stark in Anspruch genommen wird).

Als letzter Punkt, benenn lieber deine Komponenten gleich richtig. Am besten mit einem Präfix, der anzeigt um was es sich handelt (z.B. Btn für Buttons oder Frm für ein Form). Unter Button1 und Button2 kann man sich weniger vorstellen als unter BtnLaden oder BtnNeu, dann ist auch klarer was für Code folgen sollte.

So, ich hoffe du fässt das hier nicht falsch auf, ist nur ein Tipp und es klingt vielleicht nach einer Menge, aber wenn du dich immer an diese Regeln hälst, merkst du dass es gar nicht so viele sind und der Code ist einfach sauberer. Am meisten profitierst Du davon, denn du liest deinen Code häufiger als jeder andere. Spätestens wenn du mal im Job mit Programmierung zu tun haben solltest, kommst du um Codestruktur auch gar nicht mehr rum (und das hat seine Gründe). Ich kann dir nur sagen, je eher man es sich angewöhnt desto leichter fällt es einem und es hat einfach seine Vorteile (auch bei noch so kleinen Projekten).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 09:58 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