diff --git a/misc/make_deb/Linux_Qt5.dbp b/misc/make_deb/Linux_Qt5.dbp new file mode 100644 index 0000000..8de5448 --- /dev/null +++ b/misc/make_deb/Linux_Qt5.dbp @@ -0,0 +1,228 @@ +[DEBREATE-0.7.13] +<> +Package: pss-revive +Version: 1.1.0.25 +Maintainer: Boban Spasic +Section: misc +Homepage: https://github.com/BobanSpasic/PSS-Revive +Architecture: amd64 +Priority: optional +Depends: libsqlite3-0 (>=3.5.9), libportmidi0, libqt5pas1, libc6 (>=2.2.5), libx11-6 +Description: Patch librarian/editor for Yamaha PSS-x80 keyboards + Patch librarian/editor for Yamaha PSS-480, PSS-580, PSS-680 and PSS-780 keyboards + +<> +<> +1 +/home/linuxmint/Documents/PSS-Revive/PSS_Revive/bin/Linux_Qt5/PSS-Revive* -> PSS-Revive -> /usr/bin +/home/linuxmint/Documents/PSS-Revive/PSS_Revive/misc/make_deb/PSS-Revive.png -> PSS-Revive.png -> /usr/share/pixmaps +<> +<> +<> +0 +<> +<> +0 +<> +<> +1 +#! /bin/bash -e + +rm -f "/usr/bin/MiniDexedCC" + +rm -f "/usr/bin/MiniDexedCC" +<> +<> +0 +<> +<> +<> +<>DEFAULT<> + +<> +<> +GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. +<> +<> +1 +Name=PSS-Revive +Version=1.0 +Exec=PSS-Revive +Comment=Patch librarian/editor for Yamaha PSS-x80 keyboards +Icon=PSS-Revive.png +Type=Application +Terminal=false +StartupNotify=true +Encoding=UTF-8 +Categories=Utility; +<> +<> +1 +1 +1 +strip +<> \ No newline at end of file diff --git a/misc/make_deb/PSS-Revive.png b/misc/make_deb/PSS-Revive.png new file mode 100644 index 0000000..843c64c Binary files /dev/null and b/misc/make_deb/PSS-Revive.png differ diff --git a/misc/make_deb/readme.md b/misc/make_deb/readme.md new file mode 100644 index 0000000..363d893 --- /dev/null +++ b/misc/make_deb/readme.md @@ -0,0 +1,2 @@ +Use Debreate to open the DBP-Files. +Do a revision of the settings (version etc.) and create DEB files. diff --git a/src/prPSS_Revive.lpi b/src/prPSS_Revive.lpi index 94edab6..cb5fc46 100644 --- a/src/prPSS_Revive.lpi +++ b/src/prPSS_Revive.lpi @@ -20,7 +20,7 @@ - + diff --git a/src/prPSS_Revive.lps b/src/prPSS_Revive.lps index bb46fa3..1fdb9ec 100644 --- a/src/prPSS_Revive.lps +++ b/src/prPSS_Revive.lps @@ -2,7 +2,7 @@ - + @@ -228,8 +228,8 @@ - - + + @@ -256,7 +256,8 @@ - + + @@ -316,7 +317,7 @@ - + @@ -324,7 +325,7 @@ - + @@ -335,9 +336,8 @@ - + - @@ -347,9 +347,8 @@ - + - @@ -358,7 +357,7 @@ - + @@ -366,7 +365,7 @@ - + @@ -596,9 +595,9 @@ - - - + + + @@ -622,7 +621,7 @@ - + @@ -630,7 +629,7 @@ - + @@ -645,14 +644,14 @@ - + - + @@ -660,15 +659,7 @@ - - - - - - - - - + @@ -676,21 +667,21 @@ - + - + - + @@ -698,28 +689,28 @@ - + - + - + - + @@ -727,20 +718,20 @@ - + - + - + @@ -853,6 +844,14 @@ + + + + + + + + diff --git a/src/prPSS_Revive.res b/src/prPSS_Revive.res index 98f5c74..dc2d035 100644 Binary files a/src/prPSS_Revive.res and b/src/prPSS_Revive.res differ diff --git a/src/untMain.lfm b/src/untMain.lfm index c25127e..4ee3de7 100644 --- a/src/untMain.lfm +++ b/src/untMain.lfm @@ -1,7 +1,7 @@ object frmMain: TfrmMain - Left = 317 + Left = 524 Height = 700 - Top = 139 + Top = 64 Width = 1494 Caption = 'PSS Revive' ClientHeight = 700 @@ -16,7 +16,7 @@ object frmMain: TfrmMain OnCloseQuery = FormCloseQuery OnCreate = FormCreate Position = poScreenCenter - LCLVersion = '2.2.6.0' + LCLVersion = '2.2.4.0' object pcFilesDatabase: TPageControl Left = 0 Height = 700 @@ -28,23 +28,23 @@ object frmMain: TfrmMain TabOrder = 1 object tsFiles: TTabSheet Caption = 'Files' - ClientHeight = 676 - ClientWidth = 680 + ClientHeight = 672 + ClientWidth = 678 object pnFileManager: TPanel Left = 0 - Height = 676 + Height = 672 Top = 0 Width = 360 Align = alLeft BevelColor = clBlack ChildSizing.LeftRightSpacing = 10 ChildSizing.TopBottomSpacing = 5 - ClientHeight = 676 + ClientHeight = 672 ClientWidth = 360 TabOrder = 0 object lbFiles: TListBox Left = 11 - Height = 623 + Height = 619 Top = 47 Width = 338 Align = alClient @@ -58,6 +58,7 @@ object frmMain: TfrmMain OnStartDrag = lbFilesStartDrag Options = [] TabOrder = 0 + TopIndex = -1 end object sl3: TShapeLine Left = 11 @@ -100,27 +101,27 @@ object frmMain: TfrmMain end object Splitter1: TSplitter Left = 360 - Height = 676 + Height = 672 Top = 0 Width = 8 end object pnVoiceManager: TPanel Left = 368 - Height = 676 + Height = 672 Top = 0 - Width = 312 + Width = 310 Align = alClient BevelColor = clBlack ChildSizing.LeftRightSpacing = 10 ChildSizing.TopBottomSpacing = 5 - ClientHeight = 676 - ClientWidth = 312 + ClientHeight = 672 + ClientWidth = 310 TabOrder = 2 object lbVoices: TListBox Left = 11 - Height = 664 + Height = 660 Top = 6 - Width = 290 + Width = 288 Align = alClient BorderStyle = bsNone Color = clNone @@ -131,18 +132,19 @@ object frmMain: TfrmMain OnStartDrag = lbVoicesStartDrag Options = [] TabOrder = 0 + TopIndex = -1 end end end object tsDatabase: TTabSheet Caption = 'Database' - ClientHeight = 676 - ClientWidth = 680 + ClientHeight = 672 + ClientWidth = 678 object sgDB: TStringGrid Left = 0 - Height = 648 + Height = 644 Top = 28 - Width = 680 + Width = 678 Align = alClient AutoEdit = False AutoFillColumns = True @@ -151,7 +153,7 @@ object frmMain: TfrmMain Columns = < item Title.Caption = 'Voice' - Width = 659 + Width = 674 end item ReadOnly = True @@ -169,7 +171,7 @@ object frmMain: TfrmMain OnEditingDone = sgDBEditingDone OnStartDrag = sgDBStartDrag ColWidths = ( - 659 + 674 0 ) end @@ -177,7 +179,7 @@ object frmMain: TfrmMain Left = 0 Height = 28 Top = 0 - Width = 680 + Width = 678 ButtonHeight = 24 ButtonWidth = 24 Caption = 'Database' @@ -229,11 +231,11 @@ object frmMain: TfrmMain end object tbpnSearch: TPanel Left = 106 - Height = 22 + Height = 28 Top = 2 Width = 92 AutoSize = True - ClientHeight = 22 + ClientHeight = 28 ClientWidth = 92 TabOrder = 0 object tbSearch: TEdit @@ -241,7 +243,7 @@ object frmMain: TfrmMain AnchorSideTop.Control = tbpnSearch AnchorSideTop.Side = asrCenter Left = 11 - Height = 19 + Height = 25 Top = 2 Width = 80 BorderSpacing.Left = 10 @@ -266,21 +268,21 @@ object frmMain: TfrmMain end object pnLivePreview: TPanel Left = 206 - Height = 22 + Height = 28 Top = 2 - Width = 242 + Width = 305 AutoSize = True - ClientHeight = 22 - ClientWidth = 242 + ClientHeight = 28 + ClientWidth = 305 TabOrder = 1 object cbAutoPreview: TCheckBox AnchorSideLeft.Control = pnLivePreview AnchorSideTop.Control = pnLivePreview AnchorSideTop.Side = asrCenter Left = 11 - Height = 19 - Top = 2 - Width = 80 + Height = 23 + Top = 3 + Width = 107 BorderSpacing.Left = 10 BorderSpacing.Top = 4 BorderSpacing.Right = 10 @@ -292,10 +294,10 @@ object frmMain: TfrmMain AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnLivePreview AnchorSideTop.Side = asrCenter - Left = 101 - Height = 11 - Top = 6 - Width = 90 + Left = 128 + Height = 14 + Top = 7 + Width = 126 Alignment = taRightJustify Caption = 'Auto-preview bank:' ParentColor = False @@ -305,8 +307,8 @@ object frmMain: TfrmMain AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnLivePreview AnchorSideTop.Side = asrCenter - Left = 191 - Height = 19 + Left = 254 + Height = 25 Top = 2 Width = 50 EditorEnabled = False @@ -320,15 +322,15 @@ object frmMain: TfrmMain end object tsSettings: TTabSheet Caption = 'Settings' - ClientHeight = 676 - ClientWidth = 680 + ClientHeight = 672 + ClientWidth = 678 object lbMidiIn: TLabel AnchorSideLeft.Control = cbMidiIn AnchorSideBottom.Control = cbMidiIn Left = 40 - Height = 11 - Top = 35 - Width = 40 + Height = 14 + Top = 32 + Width = 56 Anchors = [akLeft, akBottom] BorderSpacing.Bottom = 10 Caption = 'MIDI In:' @@ -340,9 +342,9 @@ object frmMain: TfrmMain AnchorSideLeft.Control = cbMidiIn AnchorSideBottom.Control = cbMidiOut Left = 40 - Height = 11 - Top = 88 - Width = 45 + Height = 14 + Top = 85 + Width = 63 Anchors = [akLeft, akBottom] BorderSpacing.Bottom = 10 Caption = 'MIDI Out:' @@ -353,11 +355,11 @@ object frmMain: TfrmMain object cbMidiIn: TComboBox Cursor = crHandPoint Left = 40 - Height = 19 + Height = 27 Top = 56 Width = 320 Color = clNone - ItemHeight = 11 + ItemHeight = 0 OnChange = cbMidiInChange TabOrder = 0 end @@ -365,11 +367,11 @@ object frmMain: TfrmMain AnchorSideLeft.Control = cbMidiIn Cursor = crHandPoint Left = 40 - Height = 19 + Height = 27 Top = 109 Width = 320 Color = clNone - ItemHeight = 11 + ItemHeight = 0 OnChange = cbMidiOutChange TabOrder = 1 end @@ -377,7 +379,7 @@ object frmMain: TfrmMain AnchorSideRight.Control = cbMidiIn AnchorSideRight.Side = asrBottom Left = 310 - Height = 19 + Height = 25 Top = 200 Width = 50 Anchors = [akTop, akRight] @@ -388,10 +390,10 @@ object frmMain: TfrmMain AnchorSideTop.Control = seFontSize AnchorSideTop.Side = asrCenter AnchorSideRight.Control = seFontSize - Left = 250 - Height = 11 - Top = 204 - Width = 50 + Left = 230 + Height = 14 + Top = 205 + Width = 70 Anchors = [akTop, akRight] BorderSpacing.Right = 10 Caption = 'Font Size:' @@ -418,19 +420,19 @@ object frmMain: TfrmMain TabOrder = 4 object lbCredits1: TLabel Left = 148 - Height = 11 + Height = 14 Top = 8 - Width = 40 + Width = 56 Caption = 'Credits:' ParentColor = False end object lnkCredits2: TECLink AnchorSideLeft.Control = lbMidiIn Left = 16 - Height = 11 + Height = 14 Hint = 'https://icons8.com/' Top = 40 - Width = 30 + Width = 42 Caption = 'Icons8' ColorHovered = clActiveCaption ParentShowHint = False @@ -440,10 +442,10 @@ object frmMain: TfrmMain object lnkCredits3: TECLink AnchorSideLeft.Control = lbMidiIn Left = 16 - Height = 11 + Height = 14 Hint = 'https://www.lazarus-ide.org/' Top = 56 - Width = 55 + Width = 77 Caption = 'Lazarus IDE' ColorHovered = clActiveCaption ParentShowHint = False @@ -455,7 +457,7 @@ object frmMain: TfrmMain AnchorSideRight.Control = cbMidiIn AnchorSideRight.Side = asrBottom Left = 310 - Height = 19 + Height = 25 Top = 228 Width = 50 Anchors = [akTop, akRight] @@ -467,10 +469,10 @@ object frmMain: TfrmMain AnchorSideTop.Control = sePopUpDur AnchorSideTop.Side = asrCenter AnchorSideRight.Control = sePopUpDur - Left = 225 - Height = 11 - Top = 232 - Width = 75 + Left = 195 + Height = 14 + Top = 233 + Width = 105 Anchors = [akTop, akRight] BorderSpacing.Right = 10 Caption = 'PopUp Duration:' @@ -479,10 +481,10 @@ object frmMain: TfrmMain object lnkVisit: TECLink AnchorSideLeft.Control = lbMidiIn Left = 40 - Height = 30 + Height = 36 Hint = 'https://github.com/BobanSpasic/PSS-Revive' Top = 624 - Width = 378 + Width = 486 Caption = 'Visit PSS-Revive on the web' ColorHovered = clActiveCaption Font.Color = 10400041 @@ -496,9 +498,9 @@ object frmMain: TfrmMain end object cbShowLog: TCheckBox Left = 40 - Height = 19 + Height = 23 Top = 142 - Width = 95 + Width = 132 Caption = 'Show log window' OnChange = cbShowLogChange TabOrder = 6 @@ -513,9 +515,9 @@ object frmMain: TfrmMain TabOrder = 7 object lbInfo: TLabel Left = 148 - Height = 11 + Height = 14 Top = 8 - Width = 25 + Width = 35 Caption = 'Info:' ParentColor = False end @@ -523,8 +525,8 @@ object frmMain: TfrmMain AnchorSideTop.Control = lbInfo AnchorSideTop.Side = asrBottom Left = 1 - Height = 112 - Top = 25 + Height = 109 + Top = 28 Width = 318 Align = alBottom Anchors = [akTop, akLeft, akRight, akBottom] @@ -567,8 +569,8 @@ object frmMain: TfrmMain AutoSelect = False AutoSize = False DragMode = dmAutomatic - EditLabel.Height = 11 - EditLabel.Width = 35 + EditLabel.Height = 14 + EditLabel.Width = 49 EditLabel.Caption = 'Slot 01' EditLabel.ParentColor = False LabelPosition = lpLeft @@ -617,8 +619,8 @@ object frmMain: TfrmMain Width = 110 AutoSelect = False AutoSize = False - EditLabel.Height = 11 - EditLabel.Width = 35 + EditLabel.Height = 14 + EditLabel.Width = 49 EditLabel.Caption = 'Slot 02' EditLabel.ParentColor = False LabelPosition = lpLeft @@ -668,8 +670,8 @@ object frmMain: TfrmMain AutoSelect = False AutoSize = False DragMode = dmAutomatic - EditLabel.Height = 11 - EditLabel.Width = 35 + EditLabel.Height = 14 + EditLabel.Width = 49 EditLabel.Caption = 'Slot 03' EditLabel.ParentColor = False LabelPosition = lpLeft @@ -719,8 +721,8 @@ object frmMain: TfrmMain AutoSelect = False AutoSize = False DragMode = dmAutomatic - EditLabel.Height = 11 - EditLabel.Width = 35 + EditLabel.Height = 14 + EditLabel.Width = 49 EditLabel.Caption = 'Slot 04' EditLabel.ParentColor = False LabelPosition = lpLeft @@ -770,8 +772,8 @@ object frmMain: TfrmMain AutoSelect = False AutoSize = False DragMode = dmAutomatic - EditLabel.Height = 11 - EditLabel.Width = 35 + EditLabel.Height = 14 + EditLabel.Width = 49 EditLabel.Caption = 'Slot 05' EditLabel.ParentColor = False LabelPosition = lpLeft @@ -2187,13 +2189,13 @@ object frmMain: TfrmMain Top = 46 Width = 288 Caption = 'LKS' - ClientHeight = 144 - ClientWidth = 284 + ClientHeight = 145 + ClientWidth = 286 TabOrder = 42 object imLKS_LO: TImage AnchorSideLeft.Side = asrBottom Cursor = crHandPoint - Left = 3 + Left = 4 Height = 140 Top = 0 Width = 140 @@ -2206,7 +2208,7 @@ object frmMain: TfrmMain AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = imLKS_LO Cursor = crHandPoint - Left = 143 + Left = 144 Height = 140 Top = 0 Width = 140 @@ -2225,8 +2227,8 @@ object frmMain: TfrmMain Width = 244 BorderSpacing.Left = 20 Caption = 'Envelope' - ClientHeight = 144 - ClientWidth = 240 + ClientHeight = 145 + ClientWidth = 242 TabOrder = 43 object Graph: TChart Left = 0 @@ -4139,18 +4141,18 @@ object frmMain: TfrmMain end object lbMod: TLabel Left = 19 - Height = 11 + Height = 14 Top = 230 - Width = 45 + Width = 63 Caption = 'Modulator' ParentColor = False end object lbCar: TLabel AnchorSideTop.Side = asrBottom Left = 19 - Height = 11 + Height = 14 Top = 382 - Width = 35 + Width = 49 BorderSpacing.Bottom = 2 Caption = 'Carrier' ParentColor = False @@ -4179,9 +4181,9 @@ object frmMain: TfrmMain end object cbLivePreview: TCheckBox Left = 256 - Height = 19 + Height = 23 Top = 656 - Width = 80 + Width = 110 Caption = 'Live Preview' TabOrder = 79 end diff --git a/src/untMain.pas b/src/untMain.pas index 362a11e..16fe4fc 100644 --- a/src/untMain.pas +++ b/src/untMain.pas @@ -795,7 +795,6 @@ procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean); finally ini.Free; end; - if FMidiIsActive then begin MidiInput.CloseAll; diff --git a/units/untUtils.pas b/units/untUtils.pas index 0ee3f76..4e5e5ab 100644 --- a/units/untUtils.pas +++ b/units/untUtils.pas @@ -82,8 +82,9 @@ procedure FindSYX(Directory: string; var sl: TStringList); var sr: TSearchRec; begin - if FindFirst(Directory + '*.syx', faAnyFile, sr) = 0 then + if FindFirst(Directory + '*', faAnyFile, sr) = 0 then repeat + if LowerCase(sr.Name).Contains('.syx') then sl.Add(ExtractFileName(sr.Name)); until FindNext(sr) <> 0; FindClose(sr); @@ -93,18 +94,11 @@ procedure FindImportable(Directory: string; var sl: TStringList); var sr: TSearchRec; begin - if FindFirst(Directory + '*.ved', faAnyFile, sr) = 0 then - repeat - sl.Add(ExtractFileName(sr.Name)); - until FindNext(sr) <> 0; - FindClose(sr); - if FindFirst(Directory + '*.mbk', faAnyFile, sr) = 0 then - repeat - sl.Add(ExtractFileName(sr.Name)); - until FindNext(sr) <> 0; - FindClose(sr); - if FindFirst(Directory + '*.lib', faAnyFile, sr) = 0 then + if FindFirst(Directory + '*', faAnyFile, sr) = 0 then repeat + if LowerCase(sr.Name).Contains('.ved') or + LowerCase(sr.Name).Contains('.mbk') or + LowerCase(sr.Name).Contains('.lib')then sl.Add(ExtractFileName(sr.Name)); until FindNext(sr) <> 0; FindClose(sr);