#Include once "windows.bi"
#Include Once "win/commctrl.bi"
#Include Once "win/commdlg.bi"
#Include Once "win/shellapi.bi"
#Include "EdMar25-Marc.bi"
Declare Sub Mdeb(msg As String)
Declare Sub SetF_Text (Ltxt As String)
/'
--------------------------------------
Autor : Bruno Mariotti -
Lastc : 26.04.25 -
Proj :EdMar25-Marc -
-------------------------------------
'/
Dim Shared srcLine (1000) As String
Dim Shared ActFile As String ' actual file in Edit
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'init: ' global settings before Form displayed
ActFile = "non"
'MessageBox(0, Actfile & chr(13, 10) & "-", "debug", MB_OK) '[12.4.25] zu Debug tests ob file rread o.k
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function WndProc(ByVal hWin As HWND,ByVal uMsg As UINT,ByVal wParam As WPARAM,ByVal lParam As LPARAM) As Integer
Select Case uMsg
Case WM_INITDIALOG
hWnd=hWin
'
Case WM_COMMAND
Select Case HiWord(wParam)
Case BN_CLICKED,1
Select Case LoWord(wParam)
Case IDM_FILE_EXIT
SendMessage(hWin,WM_CLOSE,0,0)
'
Case IDM_HELP_ABOUT
ShellAbout(hWin,@AppName,@AboutMsg,NULL)
'
Case IDC_BTN1
SetDlgItemText(hWin,IDC_EDT1,@"Ein etwas nichtssagender Satz") 'Set Text in Editwindow
Case IDC_BTN2 '[-Read Textedit And Add Line-]
Dim txt As String
Dim text As ZString * 20000 '20000 chars
GetDlgItemText(hWin,IDC_EDT1,@text,SizeOf(text)) 'Get text from Editwindow1 in Pointervar text
SetDlgItemText(hWin,IDC_EDT1,@"Linea" &Chr(13,10)&"_NL")
SetDlgItemText(hWin,IDC_EDT1,@text) 'Set Text in Editwindow
' cr,nl
txt = text + chr(13, 10) + "NewLine"
Dim mtx As ZString * 20000 '2. Pinter zum Wert übergeben
mtx = txt
SetDlgItemText(hWin,IDC_EDT1,@mtx) ' pointer Übergabe mtx
'************************************************************
' Bem: *
' dem Editfeld set kann nur Datentyp Pointer als Inhalt *
' übergeben werden *
'************************************************************
' Load Button
'=============
Case IDC_BTLoadFile '[26.04.25] Fn = Filename local
'identic To LoadFile Pd Menue
Dim txt As String
Dim text As ZString * 20000 '20000 chars
GetDlgItemText(hWin,IDC_EDT1,@text,SizeOf(text)) 'Get text from Editwindow1 in Pointervar text
SetDlgItemText(hWin,IDC_EDT1,@"Linea" &Chr(13,10)&"_NL")
SetDlgItemText(hWin,IDC_EDT1,@text) 'Set Text in Editwindow
' cr,nl
Dim mtx As ZString * 20000 '2. Pinter zum Wert übergeben
mtx = txt
SetDlgItemText(hWin,IDC_EDT1,@mtx) ' pointer Übergabe mtx
'************************************************************
' Bem: *
' dem Editfeld set kann nur Datentyp Pointer als Inhalt *
' übergeben werden *
'************************************************************
'*************************************************************************************************************************
DIM AS INTEGER f
DIM AS STRING ztxt
Dim Fn As ZString * 200 ' FileName aus Feld auslesen
GetDlgItemText(hWin,IDC_EActfile,@Fn,SizeOf(Fn)) 'Get text from Editwindow1 in Pointervar text
'MessageBox(0, Fn , "open File", MB_OK)
' eine unbenutzte Dateinummer finden und Datei zum Einlesen öffnen
f = FREEFILE
OPEN Fn For INPUT AS #f
' Daten so lange einlesen, bis das Ende erreicht wurde.
DO UNTIL EOF(f)
' Zeile aus der Datei einlesen und auf dem Bildschirm ausgeben
Line Input #f, ztxt
PRINT ztxt
GetDlgItemText(hWin,IDC_EDT1,@text,SizeOf(text))
txt = text + chr(13, 10) + ztxt
' MessageBox(0, ztxt & chr(13, 10) & "-", "debug", MB_OK) '[12.4.25] zu Debug tests ob file rread o.k
mtx = txt
SetDlgItemText(hWin,IDC_EDT1,@mtx)
LOOP
' Datei schließen
CLOSE #f
Case IDC_BTSaveFile '[26.4.25]
Dim f As Integer
Dim Etxt As String ' Text in File
Dim text As ZString * 20000
Dim Fn As ZString * 200 ' FileName aus Feld auslesen
GetDlgItemText(hWin,IDC_EDT1,@text,SizeOf(text)) 'Get text from Editwindow1 in Pointervar text
Etxt = text
GetDlgItemText(hWin,IDC_EActfile,@Fn,SizeOf(Fn)) 'Get text from Editwindow1 in Pointervar text
MessageBox(0, Fn , "saveFile", MB_OK)
'MessageBox(0, Etxt , "saveFile", MB_OK)
f = FREEFILE 'freie Filee Nr. erhalten
Open Fn For output AS #f 'öffnen der Files Fn
Print #f,Etxt 'schreib ten Text aus dem Textfeld in die eben eröffnete Datei Fn
' hir text in File schreiben
Close #f
MessageBox(0, "File saved" , "info", MB_OK)
'--------------------------------------------------------------------------------------------------------------------------------------
' pull down menue
'=============
Case IDM_openFilemnu
/'
Mdeb("Msgtext")
' Create and show the dialog /// Form.show ///
CreateDialogParam(hInstance,Cast(ZString Ptr,IDD_DLG1openFile),NULL,@WndProc,NULL)
ShowWindow(hWnd,SW_SHOWDEFAULT)
UpdateWindow(hWnd)
'/
' hier file load und line fore line in textbox
Dim txt As String
Dim text As ZString * 20000 '20000 chars
GetDlgItemText(hWin,IDC_EDT1,@text,SizeOf(text)) 'Get text from Editwindow1 in Pointervar text
SetDlgItemText(hWin,IDC_EDT1,@"Linea" &Chr(13,10)&"_NL")
SetDlgItemText(hWin,IDC_EDT1,@text) 'Set Text in Editwindow
' cr,nl
'txt = text + chr(13, 10) + "NewLine"
Dim mtx As ZString * 20000 '2. Pinter zum Wert übergeben
mtx = txt
SetDlgItemText(hWin,IDC_EDT1,@mtx) ' pointer Übergabe mtx
'************************************************************
' Bem: *
' dem Editfeld set kann nur Datentyp Pointer als Inhalt *
' übergeben werden *
'************************************************************
'*************************************************************************************************************************
DIM AS INTEGER f
DIM AS STRING ztxt
Dim Fn As ZString * 200 ' FileName aus Feld auslesen
GetDlgItemText(hWin,IDC_EActfile,@Fn,SizeOf(Fn)) 'Get text from Editwindow1 in Pointervar text
'MessageBox(0, Fn , "open File", MB_OK)
' eine unbenutzte Dateinummer finden und Datei zum Einlesen öffnen
f = FREEFILE
OPEN Fn For INPUT AS #f
' Daten so lange einlesen, bis das Ende erreicht wurde.
DO UNTIL EOF(f)
' Zeile aus der Datei einlesen und auf dem Bildschirm ausgeben
Line Input #f, ztxt
PRINT ztxt
GetDlgItemText(hWin,IDC_EDT1,@text,SizeOf(text))
txt = text + chr(13, 10) + ztxt
' MessageBox(0, ztxt & chr(13, 10) & "-", "debug", MB_OK) '[12.4.25] zu Debug tests ob file rread o.k
mtx = txt
SetDlgItemText(hWin,IDC_EDT1,@mtx)
LOOP
' Datei schließen
CLOSE #f
'*************************************************************************************************************************
' Message loop ----------------------------------------------------------------------------------------------------------------------------------------
End Select
'
End Select
'
Case WM_SIZE
'
Case WM_CLOSE
DestroyWindow(hWin)
'
Case WM_DESTROY
PostQuitMessage(NULL)
'
Case Else
Return DefWindowProc(hWin,uMsg,wParam,lParam)
'
End Select
Return 0
End Function
Function WinMain(ByVal hInst As HINSTANCE,ByVal hPrevInst As HINSTANCE,ByVal CmdLine As ZString ptr,ByVal CmdShow As Integer) As Integer
Dim wc As WNDCLASSEX
Dim msg As MSG
' Setup and register class for dialog
wc.cbSize=SizeOf(WNDCLASSEX)
wc.style=CS_HREDRAW or CS_VREDRAW
wc.lpfnWndProc=@WndProc
wc.cbClsExtra=0
wc.cbWndExtra=DLGWINDOWEXTRA
wc.hInstance=hInst
wc.hbrBackground=Cast(HBRUSH,COLOR_BTNFACE+1)
wc.lpszMenuName=Cast(ZString Ptr,IDM_MENU)
wc.lpszClassName=@ClassName
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION)
wc.hIconSm=wc.hIcon
wc.hCursor=LoadCursor(NULL,IDC_ARROW)
RegisterClassEx(@wc)
' Create and show the dialog
CreateDialogParam(hInstance,Cast(ZString Ptr,IDD_DIALOG),NULL,@WndProc,NULL)
ShowWindow(hWnd,SW_SHOWNORMAL)
UpdateWindow(hWnd)
' Message loop
Do While GetMessage(@msg,NULL,0,0)
TranslateMessage(@msg)
DispatchMessage(@msg)
Loop
Return msg.wParam
End Function
' Program start
hInstance=GetModuleHandle(NULL)
CommandLine=GetCommandLine
InitCommonControls
WinMain(hInstance,NULL,CommandLine,SW_SHOWDEFAULT)
ExitProcess(0)
Sub Mdeb(msg As string)
'MessageBox(0, "Sub Mdeb & chr(13, 10) & "üben", "Mdebug", MB_OK)
MessageBox(0, msg & chr(13, 10) & "-", "Mdebug", MB_OK)
End Sub
Sub SetF_Text (Ltxt As String)
' SetDlgItemText(hWin,IDC_EDT1,@"Ein etwas nichtssagender Satz") 'Set Text in Editwindow
' Erzeugt Fehlermeldung var nicht deklariert . Herausfinden wie , wo
End Sub
Sub niet
End Sub
End