Autor Beitrag
florida
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 137

Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
BeitragVerfasst: Sa 19.06.10 13:53 
Jetzt habe ich noch eine Frage diesbezüglich des vorher erwähnten Programmes, was auch nicht die Letzte für heute sein wird. :wink:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
 for I := 0 to Editor.Lines.Count - 1 do
 begin
  if Editor.Lines[I] = 'text' then
  begin
    Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0);
    ParserLbl.Caption := '1';
  end
    ParserLbl.Caption := '0';
  else if Editor.Lines[I] = 'caption' then
  begin
    Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0);
    ParserLbl.Caption := '1';
  end;
  if parserlbl.Caption = '1' then
  begin
   wertlbl.Caption := Editor.Lines[I];
  end
 end;


Hiermit soll jetzt erreicht werden, dass z.B. das Wort "text" gelesen wird, wobei einem anderen Label die Nummer "1" gegeben wird, falls "text" richtig geschrieben worden ist. Hinterher soll das Label gleich wieder die Zahl "0" bekommen und falls "caption" richtig geschrieben worden ist, wird dem Label gleich wieder die Zahl "1" gegeben.

Nach meiner Art und Weise funktioniert es aber nicht.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 19.06.10 14:00 
Hallo,

Ein bisschen präziser, bitte: Was passiert denn statt dessen? Wird der Code erfolgreich compilliert, oder gibt es Compiler-Fehler oder Warnungen?

Wenn ich auf den Titel antworten sollte, würde ich das mit diesem Link tun: Skriptsprachen-Tutorial auf delphigl.com. Den Aufbau des Parsers kannst du vermutlich von dort übernehmen. :)

lg,

PS: Skriptsprache bin ich auch gerade dran, Parser kommt nächste Woche oder so. :D

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 19.06.10 14:07 
Einen Parser in der Art, mh...
Aber 2 Fehler kann ich Dir nennen: aber so wird es besser sein
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for I := 0 to Editor.Lines.Count - 1 do
begin
  ParserLbl.Caption := '0'
.....
.....
end;

Dort wo Du es hast löschen!
Ich würde diesen Ansatz als Parser mal überdenken! :wink:
Schau dir mal den Link von user profile iconHidden an

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
florida Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 137

Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
BeitragVerfasst: Sa 19.06.10 14:25 
Also, es soll kein richtiger Parser werden.
Er soll nur kontrollieren, ob "text" z.B. richtig geschrieben worden ist. Erst wenn es der Fall ist, erscheint die "1" und es wird weiter gesprungen. In diesem Fall zu "caption".
Und Fehler- oder Warnmeldungen gab es keine.
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 19.06.10 14:32 
Du weist aber, das dies nur funktioniert, wenn nur ein Wort/Zeile ist. Sollten mehrere Wörter in eine Zeile stehen, geht das vergleichen so nicht!
Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
florida Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 137

Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
BeitragVerfasst: Sa 19.06.10 14:37 
Ich mache es ja auch nur mit einem Wort.
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 19.06.10 14:48 
Was willst du denn genau machen?
Aus deinen Aussagen ist das nicht klar verständlich und auch nicht, warum du unbedingt durch das memo scrollen musst. Genausowenig, warum du eine Caption setzt, die ständig geändert wird.

Was soll wann passieren?
Und warum missachtest du Compiler fehler? die sagen doch schon, was da falsch ist.


Zuletzt bearbeitet von Flamefire am Mo 21.06.10 11:45, insgesamt 1-mal bearbeitet
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 19.06.10 15:11 
user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
Du weist aber, das dies nur funktioniert, wenn nur ein Wort/Zeile ist. Sollten mehrere Wörter in eine Zeile stehen, geht das vergleichen so nicht

user profile iconflorida hat folgendes geschrieben Zum zitierten Posting springen:
Ich mache es ja auch nur mit einem Wort.
Abhilfe schafft wie gesagt der Scanner aus dem Link oben: Der Frisst einen Text als ganzes, und wirft dem Parser dann einzeln die Schlüsselwörter zu. Kein so schlechtes Konzept, wie ich eigentlich finde. :gruebel:

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 19.06.10 15:20 
user profile iconHidden :zustimm:
solang user profile iconflorida aber nicht kongret sagt, was er so im einzelnem machen will bzw. was sein Prog vielleicht machen soll, sehe ich dies als Lerneffekt für ihn an. Obwohl es ja auch hier die Suche bzw. die F1 Taste in Delphi gibt! :wink:
Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!


Zuletzt bearbeitet von ALF am Sa 19.06.10 15:20, insgesamt 1-mal bearbeitet
florida Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 137

Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
BeitragVerfasst: Sa 19.06.10 15:20 
Ja, aber beim Parser usw. gibt es dann Dateien wie errors.pas,..., die nirgendswo auffindbar sind.
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 19.06.10 15:22 
Copy&Paste schadet.
Gehirn einschalten, Klar machen, was man will, eigenes machen, Fehlermeldungen lesen und verstehen, Fehler finden, Fehler beheben. Fertig.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 19.06.10 15:28 
Hi :)

Grundsätzlich, muss ich da user profile iconFlamefire zustimmen. Um den Parser einfach mal in Aktion zu sehen, könnte es aber nicht schaden, wenn die Dateien da wären.
Ich nehme mal an, dass sie eventuell deshalb absichtlich entfernt wurden :P

Hast du verstanden, wie der Scanner funktioniert? Wenn du keinen ganzen Parser bauen willst, kannst du ja einfach mal das Konzept des Scanners übernehmen :)

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 19.06.10 15:46 
Die Dateien sind da...Man müsste nur mal zum Download runterscrollen.
Aber wer Compilerfehler komplett ignoriert (oder es für unnötig hällt sie hier zu erwähnen)...
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 19.06.10 16:33 
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Aber wer Compilerfehler komplett ignoriert (oder es für unnötig hällt sie hier zu erwähnen)...
Bis dato hat er ja keine gehabt :wink:
Nur sein Konzept ist etwas mh... :gruebel: würde ich sagen.
Solange er aber nichts dazu sagt, kann man ja nur auf sein code eingehen und die logischen Fehler aufzeigen oder ihm eine Zeile geben wie es besser gehen könnte!

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 19.06.10 16:42 
user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Aber wer Compilerfehler komplett ignoriert (oder es für unnötig hällt sie hier zu erwähnen)...
Bis dato hat er ja keine gehabt :wink:


Falsch: Sein Code aus dem Eröffnungspost compiliert nichtmacht. Fehler in Z.8
Und wie du merkst: Kein Wort davon
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 19.06.10 16:55 
Vielleicht kopierfehler :mrgreen:
Ansonsten richtig user profile iconFlamefire
Gruss ALf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 19.06.10 17:35 
Wenn du '1' ins Label schreibst und danach sofort wieder '0', wirst du niemals sehen, ob da jemals eine 1 gestanden hat. Das Label würde de facto die ganze Zeit eine 0 anzeigen.
florida Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 137

Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
BeitragVerfasst: So 20.06.10 07:26 
Zitat:

Wenn du '1' ins Label schreibst und danach sofort wieder '0', wirst du niemals sehen, ob da jemals eine 1 gestanden hat. Das Label würde de facto die ganze Zeit eine 0 anzeigen.


Ja, aber das ist ja meine Frage. Wie kann ich das eben schaffen, dass nicht gleich wieder die 0 kommt.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 20.06.10 09:06 
Wenn du die einzelnen Fundstellen durchgehen willst um vom Benutzer gesehen zu werden, dann bringt dir eine Schleife nichts, die einfach stupide alle Fundstellen durchgeht. Denn du willst ja immer nur die nächste Fundstelle anspringen.

Dementsprechend reicht es auch, wenn du dir jeweils die aktuelle Zeile merkst und bei dem entsprechenden Befehl vom Benutzer weitersuchst bis zur nächsten Fundstelle.
JonS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 43

XP, Vista, Seven, Ubuntu
Delphi for Win32, Delphi Prism, C#, Java, PHP, VB
BeitragVerfasst: So 20.06.10 11:02 
Die Script-Sprache von DelphiGL als Download: Link

wfg Jon S.