السلام عليكم بعد عن عجزت عن حل مشكلتي وامتلا رأسي شيبا ارجو منكم ان تساعدوني في حل مشكلتي في البحث في القائمة الشجرية
إعـــــــلان
تقليص
لا يوجد إعلان حتى الآن.
الى جميع الاخوة المحترفين ارجوا حل مشكلتي
تقليص
هذا الموضوع مغلق.
X
X
-
السلام عليكم ورحمة الله وبركاته
سأحدثك إنطلاقا من الملف المرفق
01- امسح كل الاكواد الموجودة على مستوى العناصر
أو أحداث الصفحات بمعنى امسح كل الاكواد لا تترك شيء
02- القائمة الشجرية خليها شاغرة أي لا تضع فيه أي تفرعات " جديدة"
03 - الكتب توضع في المجلد PDFs الموجود بجانب مجلد AutoPlay و ليست في المجلد Docs
بعد تجهيز الملف بهذه المواصفات نواصل
تعليق
-
الخطوة الأولى :
في الحدث global functions ازرع الكود :
كود PHP:sPDFRootFolder = _SourceFolder .. "\\PDFs";
Tree.FindAllNodesByText =
function (strTree, strNode, strText, bExactMatch)
local tblItems = {};
local tbTree = Tree.GetChildren(strTree, strNode);
if tbTree then
for i,v in pairs(tbTree) do
if bExactMatch == false then
if String.Find(tbTree[i]["Text"], strText, 1, false) ~= -1 then
bFound = true;
else bFound = false;
end
else
if tbTree[i]["Text"] == strText then
bFound = true;
else bFound = false;
end
end
if bFound then
Table.Insert(tblItems, Table.Count(tblItems) +1, tbTree[i]["NodeIndex"]);
end
if Tree.GetChildCount(strTree, tbTree[i]["NodeIndex"]) ~= -1 then
tbReturn = Tree.FindAllNodesByText(strTree, tbTree[i]["NodeIndex"], strText, bExactMatch);
if tbReturn then
for i,v in pairs(tbReturn) do
Table.Insert(tblItems, Table.Count(tblItems)+1, v);
end
end
end
end
return tblItems;
else
return nil;
end
end
---------
sFirstPDFToLoad = "";
function AddToTree(sFullPath)
if (sFirstPDFToLoad == '') then
sFirstPDFToLoad = sFullPath;
end
tPathParts = String.SplitPath(sFullPath);
nRootLength = String.Length(sPDFRootFolder);
sFullFolderPath = tPathParts.Drive .. tPathParts.Folder;
nFullFolderPathLength = String.Length(sFullFolderPath);
sFullFolderPath = String.Mid(sFullFolderPath, 1, nFullFolderPathLength - 1);
if(String.Compare(sPDFRootFolder, sFullFolderPath) == 0) then
tNodeData = {};
tNodeData['Text']=tPathParts.Filename;
tNodeData['Data']=sFullPath;
tNodeData['ImageIndex']="0";
Tree.InsertNode("Tree1", Tree.GetChildCount("Tree1", "0") + 1, tNodeData);
else
sSearchString = tPathParts.Folder;
sSearchString = String.TrimRight(sSearchString, '\\');
nPosLastSlash = String.ReverseFind(sSearchString, '\\');
sSearchString = String.Mid(sSearchString, nPosLastSlash + 1, -1);
sFoundNodeIndex = Tree.FindNodeByText("Tree1", "0", sSearchString);
if sFoundNodeIndex == "" then
tNodeData = {};
tNodeData['Text']=sSearchString;
tNodeData['Data']="";
tNodeData['ImageIndex']="1";
sParentIndex = Tree.GetChildCount("Tree1", "0") + 1;
Tree.InsertNode("Tree1", sParentIndex, tNodeData);
else
sParentIndex = sFoundNodeIndex;
end
tNodeData = {};
tNodeData['Text']=tPathParts.Filename;
tNodeData['Data']=sFullPath;
tNodeData['ImageIndex']="0";
Tree.InsertNode("Tree1", sParentIndex .. "." .. (Tree.GetChildCount("Tree1", sParentIndex) + 1), tNodeData);
end
return true;
end
تعليق
-
الخطوة الأخيرة :
عاين مشروعك أكتب العنوان المراد البحث عنه بدقة في الانبوت 1
ستلاحظ أنه سيتم البحث عنه بمجرد كتابته بطريقة صحيحة مع مراعاة المسافات البادئة وتأثيرها
السلبي على البحث موفق
ملاحظة : اذ كانت هناك كتب متشابهة في العناوين سيتم فتح و المرور إلى الكتاب الاخير
يمكن التغلب على ذلك بتوقيف الحلقة التكرارية بالأمر break
موفق
تعليق
مواضيع تهمك
تقليص
المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
تعليق