17-02-2017, 12:17 PM
(16-02-2017, 09:39 PM)Agmcz كتب : وعليكم السلام
كود :unit shared; interface uses Windows; type TSettings = record Msg: string; end; PSettings = ^TSettings; const RC_SETTINGS = 'CFG'; function WriteSettings(Filename: PChar; Settings: PSettings): Boolean; function ReadSettings(var Settings: PSettings): Boolean; implementation function WriteSettings(Filename: PChar; Settings: PSettings): Boolean; var hResource: Thandle; begin Result := False; hResource := BeginUpdateResource(Filename, False); if hResource <> 0 then begin if UpdateResource(hResource, RT_RCDATA, RC_SETTINGS, 0, @Settings.Msg[1], PDWORD(DWORD(Settings.Msg) - 4)^ + 1) then Result := True; EndUpdateResource(hResource, False); end; end; function ReadSettings(var Settings: PSettings): Boolean; var hResInfo: HRSRC; hRes: HGLOBAL; begin Result := False; hResInfo := FindResource(hInstance, RC_SETTINGS, RT_RCDATA); if hResInfo <> 0 then begin hRes := LoadResource(hInstance, hResInfo); if hRes <> 0 then begin New(Settings); Settings^.Msg := PChar(LockResource(hRes)); Result := True; end; end; end; end.
شكرا اخي على ردك التصحيح يعمل جيدا لكن اذا كان النص كبير جدا يظهر ربعه تقريبا حوالي 20 سطر ثانيا لو اردت ارسال بيانات متفرقة هل يكفي اضافتها هكذا ام يجب التعديل على الكود ككل
type
TSettings = record
Msg: string;
Msg1: string;
Msg2: string;
Msg3: string;
end;

