AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Lazarus-Zahlenraten-Programm will nicht funktionieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus-Zahlenraten-Programm will nicht funktionieren

Ein Thema von Citaro · begonnen am 2. Apr 2014 · letzter Beitrag vom 3. Apr 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Citaro
Citaro

Registriert seit: 2. Apr 2014
5 Beiträge
 
#1

Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 19:30
Hallo und guten Abend,

ich bin dabei ein Programm zum Zahlenraten zu programmieren und das mit Lazarus 1.0.14 .

Das Programm soll folgende Eigenschaften besitzen: der Rechner bzw. das Programm erzeugt selbstständig eine Zufallszahl im Bereich von 1 bis 100, der Nutzer hat soll diese zufällig erdachte Zahl erraten, nach jedem Versuch wird die Eingabe vom Programm mit „Die Zahl ist zu groß!“, „Die Zahl ist zu klein!“ oder mit „Das war richtig !“ beantwortet. Nach dem Erraten einer Zahl hat der Nutzer die Möglichkeit, eine neue Zufallszahl zu erzeugen.

Leider hängt sich Lazarus immer wieder an verschiedenen Zeilen auf, darunter auch an der Lrs-Datei.

http://img5.fotos-hochladen.net/thum...65nu_thumb.jpg

Der vollständige Quellcode sieht bisher so aus.

Code:
unit Zahlenraten;

interface

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

type
TForm1 = class(TForm)
      Panel1: TPanel;
            ErgebnisPanel: TPanel;
                         Label1: TLabel;
                                        NeuButton: TBitBtn;
                                                           RatenButton: TBitBtn;
                                                                                AbbruchButton: TBitBtn;
                                                                                                       EingabeEdit: TEdit;
procedure AbbruchButtonClick(Sender: TObject);
             procedure FormCreate(Sender: TObject);
               procedure RatenButtonClick(Sender: TObject);
                  procedure NeuButtonClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation
initialization
{$I zahlenraten.lrs}
var Zufallszahl : integer;
procedure TForm1.AbbruchButtonClick(Sender: TObject);

({$R *.DFM})

var Zufallszahl: integer;

procedure TForm1.AbbruchButtonClick(Sender: TObject);
begin
Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Caption:='Zahlenraten';
Label1.Caption:='Bitte wählen Sie eine Zahl von 1 bis 100:';
Randomize;
Zufallszahl:=Random(100)+1;
end;



procedure TForm1.RatenButtonClick(Sender: TObject);
var Eingabe : Integer;
begin
Eingabe:=StrToInt(EingabeEdit.Text);
if Eingabe=Zufallszahl
then ErgebnisPanel.Caption:=' Das war richtig! '
else if Eingabe<Zufallszahl
then ErgebnisPanel.Caption:='Die Zahl ist zu klein!'
else ErgebnisPanel.Caption:='Die Zahl ist zu groß!';
EingabeEdit.SetFocus;
end;



end.

Ob mir jemand helfen kann? ^^' Ich würde mich sehr freuen.

Schönen Abend noch!

- Citaro

Geändert von Citaro ( 2. Apr 2014 um 19:30 Uhr) Grund: Stichworte vergessen
  Mit Zitat antworten Zitat
zeras
Online

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#2

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 20:10

Eingabe:=StrToInt(EingabeEdit.Text);
Hier willst du einen String zu einer Zahl wandeln. Wenn aber keine Zahl eingegeben wird, sondern ein Buchstabe o.ä.? Wie fängst du den Fall ab?
In Delphi gibt es TryStrToInt. Was in Lazarus geht, weiß ich nicht.

BTW: Was ist eine LRS Datei?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von Citaro
Citaro

Registriert seit: 2. Apr 2014
5 Beiträge
 
#3

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 20:25
Also der Befehl dürfte schon stimmen.
StrToInt ist für das Auslesen aus dem Editierfeld und das Umwandeln in eine Integer-Zahl bei Lazarus üblich.

Zitat:
BTW: Was ist eine LRS Datei?
Zitat von Lazarus-Wiki:
Nun unterstützt Lazarus jedoch keine "normalen" Ressourcendateien (*.res), weil sie Windows spezifisch sind. Wenn man jetzt trotzdem Ressourcen verwenden möchte, muss man sie mit lazres neu erstellen. Lazres ist ein Werkzeug, dass sich im tools Verzeichnis des Lazarus-Installationsordners befindet (ggf. muss man es erst compilieren).



Damit können sie dann Lazarus Ressourcendateien (*.lrs) compilieren.
  Mit Zitat antworten Zitat
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 21:05
An welchen Stellen hängt es denn genau? Ich denke mal, ohne diese Information kann man den Fehler nicht lösen.
In Delphi gibt es TryStrToInt. Was in Lazarus geht, weiß ich nicht.
Das mit dem StrToInt() ist ja nur dann falsch, wenn irgendjemand so schlau ist, einen Buchstaben oder irgend ein Sonderzeichen zu Raten. Da dies aber nicht der Normalfall sein wird, ist dies nicht der Ursprung des Problems. (außer es geht darum das Programm Idiotensicher zu machen)

PS: Nur eine Anmerkung, auf dem Foto, das Du eingestellt hast, sieht man so relativ gar nichts und könntest Du den Quellcode noch mal richtig formatieren, dann wird der auch übersichtlicher
Der Fehler sitzt immer vor dem Computer...

Geändert von TForm1 ( 2. Apr 2014 um 21:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Citaro
Citaro

Registriert seit: 2. Apr 2014
5 Beiträge
 
#5

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 22:20
Nee, idiotensicher muss es eigentlich nicht sein. Aber ein interessanter Gedanke, dieses Problem mit der Eingabe.

Weshalb sieht man auf dem Foto denn nichts?


Ich habe das mal direkt als Rar verpackt. Wenn du oder jemand anderes sich kurz Zeit nehmen würde und auch noch Lazarus auf dem Rechner hat? Dann wäre das natürlich spitze.


http://www.file-upload.net/download-...raten.rar.html
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 22:27
Weshalb sieht man auf dem Foto denn nichts?
Weil du die URL auf das Thumbnail gepostet hast

Bilder und ZIPs mit Code solltest du hier einfach an den Beitrag anhängen. Dann sind sie auch später noch da.

//Edit: First!!111

Geändert von BUG ( 2. Apr 2014 um 22:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 22:29
Weshalb sieht man auf dem Foto denn nichts?
Du hast den falschen Link gepostet. Der Link zeigt auf das "Thumbnail". Das ist eine verkleinerte darstellung der orig. Bilddatei. Diese dient nur um sie schneller in Listen usw. anzuzeigen, damit dort nicht das eigentliche Bild (was viel größer ist) geladen werden muss und das dann massig an Zeit und Downstream beansprucht.
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von Citaro
Citaro

Registriert seit: 2. Apr 2014
5 Beiträge
 
#8

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 22:35
Ui, das tut mir Leid. Also hier noch mal das Bild!
Miniaturansicht angehängter Grafiken
blah.png  
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 22:45
Hab das mal schnell überflogen, du darfst nicht einfach alles ändern, schau dir mal meinen Code an. Wenn du die Namen der Kontrols ändern möchtest, musst du das unter "Name" links im Object Inspektor ändern. Erst dann kannst du mit den Kontrols und deren neuen Namen arbeiten.


Edit:
Aso und wieso du da so viele Anhänge und verweise auf gar nicht vorhandene Forms hast, kann ich dir nicht sagen, hab das alles gelöscht was du nicht brauchst.
Siehe Anhang
Angehängte Dateien
Dateityp: rar zahlenraten.rar (1,39 MB, 6x aufgerufen)
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von Citaro
Citaro

Registriert seit: 2. Apr 2014
5 Beiträge
 
#10

AW: Lazarus-Zahlenraten-Programm will nicht funktionieren

  Alt 2. Apr 2014, 23:25
Nun ja, diesen Panel mit den Schaltflächen, dem Editfeld und der Überschrift, der war ja bereits vorhanden. Ich fange ja nicht mit dem Code allein an, sondern mit einer Benutzeroberfläche inkl. einer Schaltfläche zum Beenden des Programms. Wenn du die auszuführende Datei im Ordner der ausgepackten Rar-Datei anklickst und sie ausführst, dann erscheint die besagte Benutzeroberfläche. Nur funktionieren die Raten- und die Neue-Zahl-Schaltfläche noch nicht, eben weil der Code selbst fehlerhaft ist.

Die Datei, die du mir geschickt hast, wird zwar sauber compiliert, weist aber eben die grafische Benutzeroberfläche nicht mehr auf. Wenn ich die jetzt neu erstelle, programmiert er das neu in den Code rein. Aber eine Verbindung zu dem von dir veränderten Code bekomme ich so nicht hin …
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 08:18 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