Entwickler-Ecke

Sonstiges (Delphi) - Projektarbeit


Speter - Do 07.04.11 22:15
Titel: Projektarbeit
Guten tag,

ich muss bis Anfang Mai eine Projektarbeit in Delphi abgeben und habe dazu folgende Aufgabenstellung von meinem Lehrer bekommen:

Sie erstellen ein Formular, mit dessen Hilfe die Teilnehmer der
Senioren-Schulung einen Feedback-Fragebogen ausfüllen.
Die Antworten werden in einem Format abgespeichert, das von Excel aus
lesbar ist (z.B. csv), so dass statistische Auswertungen mit Hilfe von
Excel-Funktionen vorgenommen werden könnten. (Die Auswertungen mit
Excel brauchen Sie NICHT zu machen.) Der Fragebogen soll
bedienerfreundlich gestaltet sein, da die Zielgruppe aus PC-Laien besteht.

Senioren-Schulung war ein Projekt das wir vor kurzem gemacht haben um den älteren Leuten den Umgang mit dem Computer zu erlernen :P

Bezüglich meiner Aufgabenstellung würde ich gerne fragen ob ihr mir vielleicht Tipps geben könntet wie ich das machen soll bzw. womit ich anfangen sollte :)
Meine Kenntnisse in Delphi sind noch nicht so gut da ich erst seit ca. 1 Jahr in der schule lerne.

Mit freundlichen Grüßen

Peter


Mr_Emre_D - Do 07.04.11 22:55

Liefer mal deine ersten Gedanken und Ideen dazu ab. Es sollte dir keiner die Denkarbeit abnehmen, du sollst nur eine kleine Wegweisung bekommen! Sonst hätte die Aufgabe ja keinen großen Sinn!


beastofchaos - Do 07.04.11 23:17

Versuch dir einfach mal auf einem Blatt Papier das Formular zu zeichnen und dann vorzustellen, welche Prozedur bei diesen bjekten des Formulars was macht. Ganz wichtig wenn man an ein größeres Thema ran geht.
Für mich wäre da nur ein Problem - Wie speichert man etwas unter ".csv" ? Ich arbeite in meinen Programm an vielen Stellen mit Textdateien (mit eigenen Endungen), aber andere Dateien abzuspeichern wäre, glaub ich nciht sehr leicht.


Gerd Kayser - Fr 08.04.11 02:24

user profile iconbeastofchaos hat folgendes geschrieben Zum zitierten Posting springen:

Wie speichert man etwas unter ".csv" ?
CSV ist nichts anderes als eine normale Textdatei, nur halt mit der Endung CSV statt TXT. Jede Zeile entspricht dabei einer späteren Zeile in Excel. Innerhalb der Zeile sind die einzelnen Werte für die einzelnen Excel-Spalten durch ein Semikolon getrennt.
Beispiel (eine Beschriftungszeile und eine Datenzeile):

Delphi-Quelltext
1:
2:
Frage 1;Frage 2;Frage 3;Frage 4;Frage 5;Frage 6;Frage 7;Frage 8;Frage 9;Frage 10
10;3;9;5;4;1;1;5;8;7


Thom - Fr 08.04.11 10:06

Es gibt aber Probleme, wenn ein Rentner - Pardon: Senior :wink: - auf die Idee kommt, Spezialzeichen (" bzw. ;) in den Eingabefeldern zu verwenden. Dann kommt nämlich die ganze Zeile durcheinander.

Besser - und komfortabler - ist die Verwendung von TStringList. Diese bietet über die Eigenschaften CommaText und - bei neuereren Delphi-Versionen - DelimitedText die komplette Umwandlung in eine CSV [http://de.wikipedia.org/wiki/CSV_(Dateiformat)]-Zeile an. :zustimm:


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:
procedure TForm1.Button1Click(Sender: TObject);
var
  Line, CSV: TStringList;
begin
  CSV:=TStringList.Create;
  try
    Line:=TStringList.Create;
    try
      Line.Delimiter:=';'//Trennungszeichen für Datenfelder, kann auch ein "," sein
      Line.QuoteChar:='"'//Zeichen, falls das Trennungszeichen innerhalb des Datenfeldes auftritt
      Line.StrictDelimiter:=true;
      Line.Add(Label1.Caption); //einzelne Spaltenüberschriften hinzufügen
      //...
      CSV.Add(Line.DelimitedText); //Spaltenüberschriften in CSV-Liste übernehmen
      Line.Clear;
      Line.Add(Edit1.Text); //einzelne Datenfelder hinzufügen
      //...
      CSV.Add(Line.DelimitedText); //Datenfelder in CSV-Liste übernehmen
      CSV.SaveToFile('MeineDatei.csv'); //speichern
    finally
      Line.Free;
    end;
  finally
    CSV.Free;
  end;
end;


Speter - Fr 08.04.11 10:46

Danke für eure Hilfe das ist echt nett.
Ich werde erstmal bisschen ausprobieren gleich und falls ich noch fragen habe , frage ich einfach :)
danke

gruß


Speter - Fr 29.04.11 14:30

Vielen dank bis jetzt hab aber noch paar fragen.
Wenn ich das Projekt öffne kann ich die Größe immer noch ändern also das Programm größer oder kleiner machen. Wie kann ich das fest einstellen?
Ich wollte das man bei jeder frage nur ein kreuz machen kann.
Und kann ich bei dem grauen Hintergrund irgendein Bild einfügen damit das Layout bisschen schöner gestaltet ist?
Und wie genau ich das bei dem Button Speichern machen muss ist mir auch nicht ganz klar.

Danke leute

// Das ist natürlich nur eine Skizze die noch überarbeitet wird.

Moderiert von user profile iconNarses: Doppelten Dateianhang gelöscht.


bummi - Fr 29.04.11 14:37

Wenn ich das Projekt öffne kann ich die Größe immer noch ändern also das Programm größer oder kleiner machen. Wie kann ich das fest einstellen?

Schau Dir mal Constraints an

Ich wollte das man bei jeder frage nur ein kreuz machen kann.

Radiogroups statt Checkboxen


Und kann ich bei dem grauen Hintergrund irgendein Bild einfügen damit das Layout bisschen schöner gestaltet ist?

Ja..

Und wie genau ich das bei dem Button Speichern machen muss ist mir auch nicht ganz klar.

was ist den klar, oder unklar


Narses - Fr 29.04.11 14:40

Moin!

user profile iconSpeter hat folgendes geschrieben Zum zitierten Posting springen:
hab aber noch paar fragen.
Das wird mir jetzt aber zu unübersichtlich hier. ;) Bitte erstelle zu jeder deiner Fragen ein separates Topic (du kannst ja mit einem Link auf dieses Topic hier verweisen, wenn du möchtest). Die Erfahrung zeigt, dass die Diskussion mehrerer verschiedener Themen in einem Thread nur zu Chaos führt. :idea: Deshalb: *geschlossen*

cu
Narses