aufbau eines schreib programmes

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: aufbau eines schreib programmes

BeitragDi, Dez 05, 2006 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute,Ich will mal nafangen n kleines schreibprogramm zu proggen.
Wie geh ich das ma besten an?

Habt ihr da n paar ideen??


mfg marius

Pdd

BeitragDi, Dez 05, 2006 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du dabei sowas wie Word?

Interesante Idee, ich denke du brauchst zuerst eine geeignete Input Rutine. Dann Farben, Formatierungen, etc. Vllt mit Types. Very Happy
Lieber Apfel als Birne.

mas93

BeitragDi, Dez 05, 2006 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ja,sowas wie word.
Nur hab ich kein Plan wie ich ne input routine sychreiben soll.hab sowas noch nie gemacht.

Blitzcoder

Newsposter

BeitragDi, Dez 05, 2006 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst mit den Befehlen getkey und keydown tasten abfragen. Gerade getkey ist für inpuroutinen für Anfänger praktisch. Mit den Befehlen asc() und chr() kannst du die getkey Codes in zeichen, bzw. zurück umrechnen. Schau dir diese Befehle mal an(blitzbase.de). Wenn du schauen willst, wie soetwas aussieht, such hier im Codearchiv danach, dort sind zig Inputroutinen.

MfG
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

mas93

BeitragDi, Dez 05, 2006 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

AppTitle "EXTREME WRITER"


Graphics 640,480,16,0

;SACHEN LADEN



;------------------HAUPTSCHLEIFE-----------------------------



satz=Input("GIB WAS EIN:  ")
Repeat
If KeyHit(57) Then speichern()
If KeyHit(2) Then oeffnen()



Flip
Until KeyHit(1)
End

Function speichern()

datei = WriteFile("dokument.mas")
WriteLine datei,satz
CloseFile datei
WaitKey

End Function 


Function oeffnen()
Cls
datei= ReadFile("dokument.mas")
Print ReadLine(datei)
CloseFile datei
WaitKey

End Function


wenn ich das öffne steht im dokument nur ne 0???

Hagbard

BeitragDi, Dez 05, 2006 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Einfache Fehleranalyse:
Es wird kein Text im Dokument gespeichert, also könnt es sein, dass die Variable falsch verwendet wird o.ä

und tatsächlich hast du vergessen die Variable global zu setzen, da du sie ja in einer Funktion verwendest.

Dazu kommt, dass Input einen String zurückgibt und die Variable, die das speichert auch so behandelt werden muss, d.h. Global satz$ = ...

darth

BeitragDi, Dez 05, 2006 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
. . .
ein "word" mit input ist seeeeehr optimistisch,
ich empfehle (wie einer der vorschreiber) eine routine mit getkey()
btw: ich hab sowas auch probiert (niedriges niveau, editor ähnlich => kein autom. zeilenumbruch, keine formatierungen) - und ich muss sagen, dass ich es aufgegeben habe, es ist nicht einfach :S
Diese Signatur ist leer.

Hellfront

BeitragDi, Dez 05, 2006 23:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Arrow Satz ist nicht global
Arrow Satz ist nicht String


satz$ = Input$("...") so müsste die Input Zeile sein.


PS: Ich hoffe du wolltest jetzt nur die speicherroutine ausprobieren und nicht den ganzen Editor mit INput schreiben Smile

mas93

BeitragMi, Dez 06, 2006 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die antworten.

Und LÖÖÖÖÖÖÖÖl natürlich will ich nicht den ganzen editor mit inputschreiben.Ich wollte nur das mit dem speichern und laden mal probieren.

mas93

BeitragMi, Dez 06, 2006 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
So,Ich hab noch ne frage.

Wie soll ich die input routine schreiben??Gibts da n tutorial???

D2006

Administrator

BeitragMi, Dez 06, 2006 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
~GESCHLOSSEN~

Du hast schon eine Verwarnung wegen Doppelpostings gekriegt.
HÖR ENDLICH AUF DAMIT...


EDIT:

~WIEDERERÖFFNET~
Ups, das war ja ne andere 93. Sorry, verwechselt.

Trotzdem ermahne ich dich, in Zukunft Doppelposts zu vermeiden und den Editiert Button (der tolle Schraubenschlüssel rechts über dem Beitrag) zu benutzen.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

darth

BeitragMi, Dez 06, 2006 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
jap gibts
Diese Signatur ist leer.

mas93

BeitragMi, Dez 06, 2006 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]


AppTitle "EXTREME WRITER"


Graphics 640,480,16,0

;SACHEN LADEN
Global antwort$,backtime = MilliSecs(),ccolor



;------------------HAUPTSCHLEIFE-----------------------------



Repeat


befehl$ = newinput$(x,y,x,y,"", 200)
If KeyHit(57) Then speichern()
If KeyHit(2) Then oeffnen()
If KeyHit(3) Then farbe()   

Flip
Cls
Until KeyHit(1)
End

Function speichern()

datei = WriteFile("dokument.mas")
WriteLine datei,antwort$
CloseFile datei
WaitKey

End Function 


Function oeffnen()
Cls
datei= ReadFile("dokument.mas")
Print ReadLine(datei)
CloseFile datei
WaitKey

End Function

Function newinput$(x1,y1,x2,y2,frage$,maxl)
   

   
   a = GetKey()
   If a => 32 And a <= 255 And Len(antwort$) <= maxl-1 Then antwort$ = antwort$ + Chr$(a)
   If KeyDown(28) Then Return antwort$
   If KeyDown(14) Or KeyDown(203) And Len(antwort$) > 0 And MilliSecs()-backtime > 125 Then
      antwort$ = Left(antwort$,(Len(antwort$)-1))
      backtime = MilliSecs()
   End If

   Color 25,100,200
   Rect x1, y1,x2-x1, y2-y1,1
   Color 10,50,150
   Rect x1, y1,x2-x1, y2-y1,0
   textlange = StringWidth(antwort$) ;Blinkener Cursor
   texthohe = StringHeight(antwort$)
   fragelange = StringWidth(frage$)
   Color 0,50,ccolor
   Rect x1+28+(Len(antwort$)*8),y1+4,10,texthohe-1,1
   ccolor = ccolor + 5
   If ccolor = 255 Then ccolor = 100

   Color RequestedRed,RequestedGreen,RequestedBlue
   Text x1+3,y1+3, frage$ + " " + antwort$
End Function

Function farbe()

RequestColor(255,0,0)

End Function






es wird irgendwie kein text angezeigt seit ich das mit der farbe drinn hab.
Bevor und danach ich die farbe ausgewählt hab

Habtr ihr ne idee?
mfg marius

BladeRunner

Moderator

BeitragMi, Dez 06, 2006 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
du hast nach requestesred() etc. die Klammern vergessen, daher wird immer schwarz gesetzt.
Alle Funktionen die etwas zurückgeben müssen mit () am ende aufgerufen werden um zu funktionieren.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hagbard

BeitragMi, Dez 06, 2006 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
AppTitle "EXTREME WRITER"


Graphics 640,480,16,2

;SACHEN LADEN
Global antwort$,backtime = MilliSecs(),ccolor



;------------------HAUPTSCHLEIFE-----------------------------


Global rot = 255
Global grun = 255
Global blau = 255

Repeat


befehl$ = newinput$(x,y,x,y,"", 200)
If KeyHit(57) Then speichern()
If KeyHit(2) Then oeffnen()
If KeyHit(3) Then farbe()   

Color 255, 255, 255
Text 200, 200, rot + "  " + grun + "  " + blau

Flip
Cls
Until KeyHit(1)
End

Function speichern()

datei = WriteFile("dokument.mas")
WriteLine datei,antwort$
CloseFile datei
WaitKey

End Function


Function oeffnen()
Cls
datei= ReadFile("dokument.mas")
Print ReadLine(datei)
CloseFile datei
WaitKey

End Function

Function newinput$(x1,y1,x2,y2,frage$,maxl)
   

   
   a = GetKey()
   If a => 32 And a <= 255 And Len(antwort$) <= maxl-1 Then antwort$ = antwort$ + Chr$(a)
   If KeyDown(28) Then Return antwort$
   If KeyDown(14) Or KeyDown(203) And Len(antwort$) > 0 And MilliSecs()-backtime > 125 Then
      antwort$ = Left(antwort$,(Len(antwort$)-1))
      backtime = MilliSecs()
   End If

   Color 25,100,200
   Rect x1, y1,x2-x1, y2-y1,1
   Color 10,50,150
   Rect x1, y1,x2-x1, y2-y1,0
   textlange = StringWidth(antwort$) ;Blinkener Cursor
   texthohe = 16;StringHeight(antwort$)
   fragelange = StringWidth(frage$)
   Color 0,50,ccolor
   Rect x1+28+(Len(antwort$)*8),y1+4,10,texthohe-1,1
   ccolor = ccolor + 5
   If ccolor = 255 Then ccolor = 100
   

   Color rot, grun, blau
   ;Color 255, 255, 255
   Text x1+3,y1+3, frage$ + " " + antwort$
End Function


Function farbe()

RequestColor(255,0,0)
rot = RequestedRed()
grun = RequestedGreen()
blau = RequestedBlue()

End Function



edit: Erklärung siehe Bladerunner

mas93

BeitragMi, Dez 06, 2006 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
upps Embarassed

hab voll vergessen dass das funktionen sind.

DANKE!

[edit]

Code: [AUSKLAPPEN]

Graphics 640,480,16,2
;SACHEN LADEN
Global antwort$,backtime = MilliSecs(),ccolor



;------------------HAUPTSCHLEIFE-----------------------------


Global rot = 255
Global grun = 255
Global blau = 255

Repeat


befehl$ = newinput$(x,y,x,y,"", 200)
If KeyHit(57) Then speichern()
If KeyHit(2) Then oeffnen()
If KeyHit(3) Then farbe()   


Flip
Cls
Until KeyHit(1)
End

Function speichern()

datei = WriteFile("dokument.mas")
WriteLine datei,antwort$
CloseFile datei
WaitKey

End Function


Function oeffnen()
Cls

lesen$=RequestFile("Wählen Sie eine Datei aus","mas",0)

datei= ReadFile(lesen$)
Print ReadLine(datei)
CloseFile datei
WaitKey

End Function

Function newinput$(x1,y1,x2,y2,frage$,maxl)
   

   
   a = GetKey()
   If a => 32 And a <= 255 And Len(antwort$) <= maxl-1 Then antwort$ = antwort$ + Chr$(a)
   If KeyDown(28) Then Return antwort$
   If KeyDown(14) Or KeyDown(203) And Len(antwort$) > 0 And MilliSecs()-backtime > 125 Then
      antwort$ = Left(antwort$,(Len(antwort$)-1))
      backtime = MilliSecs()
   End If

   Color 25,100,200
   Rect x1, y1,x2-x1, y2-y1,1
   Color 10,50,150
   Rect x1, y1,x2-x1, y2-y1,0
   textlange = StringWidth(antwort$) ;Blinkener Cursor
   texthohe = 16;StringHeight(antwort$)
   fragelange = StringWidth(frage$)
   Color 0,50,ccolor
   Rect x1+28+(Len(antwort$)*8),y1+4,10,texthohe-1,1
   ccolor = ccolor + 5
   If ccolor = 255 Then ccolor = 100
   

   Color rot, grun, blau
   ;Color 255, 255, 255
   Text x1+3,y1+3, frage$ + " " + antwort$
End Function


Function farbe()

RequestColor(255,0,0)
rot = RequestedRed()
grun = RequestedGreen()
blau = RequestedBlue()

End Function




Ähm ich hab mich entschieden das schreibprog in Bloitz Plus zu machen.Leider hab ich da noch keine erfahrung.

Ich will jetzt das Prog in nem fensteer starten.
Also so:

Code: [AUSKLAPPEN]

enster=CreateWindow("Extreme writer",100,100,200,100)
menu10=CreateMenu("Datei",10,WindowMenu(fenster))
menu11=CreateMenu("Laden",11,WindowMenu(menu10))
menu12=CreateMenu("Speichern",12,WindowMenu(menu10))


UpdateWindowMenu fenster


aber wenn ivh das so am anfang einbau geht das nicht.
Wisst ihr,wo genau der code hin muss?

mfg marius

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group