![]() |
|
جعل السترينغ يقبل اكثر من 255 حرف - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : جعل السترينغ يقبل اكثر من 255 حرف (/showthread.php?tid=8397) |
جعل السترينغ يقبل اكثر من 255 حرف - mohamed49 - 14-02-2017 السلام عليكم عندي مشكلة عند ارسال نصوص تفوق 255 حرف لا يعمل البرنامج عدلت الكود الى هكذا لكن لم يعد يعمل جيدا فكيف يمكنني جعل السترينغ يقبل اكثر من 255 بدون عمل midstr للتكست الموجود في memo1 type TSettings = record mystring:array [1..900] of string; هذه هي الوحدة المستعملة unit shared; interface uses Windows; type TSettings = record msg tring[255];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, SizeOf(Settings^)) 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 Settings := LockResource(hRes); Result := True; end; end; end; end. RE: جعل السترينغ يقبل اكثر من 255 حرف - Agmcz - 16-02-2017 وعليكم السلام كود : 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.RE: جعل السترينغ يقبل اكثر من 255 حرف - mohamed49 - 17-02-2017 (16-02-2017, 09:39 PM)Agmcz كتب : وعليكم السلام شكرا اخي على ردك التصحيح يعمل جيدا لكن اذا كان النص كبير جدا يظهر ربعه تقريبا حوالي 20 سطر ثانيا لو اردت ارسال بيانات متفرقة هل يكفي اضافتها هكذا ام يجب التعديل على الكود ككل type TSettings = record Msg: string; Msg1: string; Msg2: string; Msg3: string; end; RE: جعل السترينغ يقبل اكثر من 255 حرف - Agmcz - 17-02-2017 ارفق النص الذي يظهر ربعه هنا... إقتباس :لو اردت ارسال بيانات متفرقةنعم يجب تعديل الكود في حالة تغيير record RE: جعل السترينغ يقبل اكثر من 255 حرف - mohamed49 - 17-02-2017 (17-02-2017, 12:35 PM)Agmcz كتب : ارفق النص الذي يظهر ربعه هنا... اي نص يكون طويل مثلا هذا كما انه يظهر رموز في بعض الحروف ربما يجب اضافة ترميز utf8 هذا النص De nombreux agriculteurs européens sont des viticulteurs (400 000 ha consacrés à la vigne en Algérie) dont les productions sont exportées surtout vers la France métropolitaine qui l'achète assez cher (selon l'historien Daniel Lefeuvre) pour maintenir le niveau de vie des colons. L'agriculture n'occupe que 9 % de la population active française (contre 26 % en métropole) mais les paysans d'origine française occupent l'essentiel des meilleures terres cultivables.[citation nécessaire] Cependant certaines sources certifient que ne sont attribuées aux colons que des terres alors en friche14[réf. à confirmer]. Le colon en réclame autant qu'il pense pouvoir en cultiver avec sa famille, mais doit dès la deuxième année acquitter l'impôt foncier proportionnel à la surface, ce qui dissuade les abus. L'essentiel de la population musulmane est pauvre. Ce sont essentiellement de petits propriétaires terriens vivant sur les terres les moins fertiles, ou des journaliers. Dans les années 1950, les surfaces cultivables stagneraient autour de 7 millions d'ha La production agricole augmente peu entre 1871 et 1948, contrairement au nombre d'habitants. Selon Daniel Lefeuvre, la production annuelle de céréales passe de 3,88 quintaux/hab. à 2 q/hab. L'Algérie doit donc importer des produits alimentaires. Le chômage est important, 1,5 millions de personnes sans emplois en 1955. La commune d'Alger aurait compté 120 bidonvilles avec 70 000 habitants en 1953. Si la population musulmane est majoritairement pauvre, Daniel Lefeuvre rapporte qu'environ 600 000 Algériens musulmans « appartiennent aux groupes sociaux les plus favorisés » (grands propriétaires fonciers, professions libérales, membres de l'armée et de la fonction publique)15. D'une manière générale, l'Algérie loin de présenter une source économique avantageuse est un lourd fardeau pour la métropole et ses contribuables16. Après la fin de la Seconde Guerre mondiale, le plan Marshall prévoit une aide économique à la France et l'Algérie. Commentaires sur des images d'illustration à propos des prises de position des différents partis, les communistes demandant la création d'une commission d'enquête, les socialistes étant plus prudents, toute la classe politique rejetant l'idéee d'une repentance. Itw de François ASENSI député PC de Seine-Saint-Denis et de Hervé de CHARETTE député UDF RE: جعل السترينغ يقبل اكثر من 255 حرف - mohamed49 - 17-02-2017 حجم النص هذا هو 2403 وعند كتابته على الملف التنفيذي يكون حجم الناتج 1205 وعند اعادة كتابة هذه الاسطر فقط De nombreux agriculteurs européens تظهر عند الحفظ غير كاملة De nombreux agricu ربما المشكلة في هذا السطر PDWORD(DWORD(Settings.Msg) - 4)^ + 1) تمام حليت المشكلة الاولى بقي كيفية اضافة عدة متغيرات كاليوزر والباس مثلا RE: جعل السترينغ يقبل اكثر من 255 حرف - Agmcz - 17-02-2017 لا أعرف المشكل الذي تتكلم عنه يمكنك إرفاق محاولتك مرفق مثال للتوضيح. RE: جعل السترينغ يقبل اكثر من 255 حرف - mohamed49 - 18-02-2017 تمام اخي كانت المشكلة من عندي حيث استخدمت دلفي 7 مع 10 لكن بعد استخدام نفس الاصدار انحلت المشكلة يعطيك العافية اخي بقي كيفية التعديل لاضافة اكثر من متغير مثلا اليوزر والباس والبلد بارك الله فيك RE: جعل السترينغ يقبل اكثر من 255 حرف - Agmcz - 19-02-2017 هل تريد تريد كتابة هذا recod type TSettings = record Msg: string; Msg1: string; Msg2: string; Msg3: string; end; بسبب String يجب تأشير على عنوان بداية كل سلسلة ويجب جمعها بترتيب للكتابة مباشرة يمكن كتابة record بهذا الشكل type TSettings = record Msg: array of string; end; ؟ RE: جعل السترينغ يقبل اكثر من 255 حرف - mohamed49 - 21-02-2017 (19-02-2017, 10:55 PM)Agmcz كتب : هل تريد تريد كتابة هذا recod تمام اخي الله يحفظك سؤال خارج نوعا ما عن هذا الموضوع اذا امكن اخي اريد مثال لتشغيل سترينغ عن طريق رانبي او ماشابه يعمل على دلفي 2010 اذا ما في ازعاج |