Commit MetaInfo

修订版eedf2e7fbd38ea7c112c38906870e3bc5efddbb1 (tree)
时间2018-12-28 18:03:00
作者kentamaken <kentamaken@gmai...>
Commiterkentamaken

Log Message

AppleMusic判定

更改概述

差异

--- a/textdefindunit.dfm
+++ b/textdefindunit.dfm
@@ -2,8 +2,8 @@ object TextDeFindForm: TTextDeFindForm
22 Left = 0
33 Top = 0
44 Caption = 'TextDeFindForm'
5- ClientHeight = 543
6- ClientWidth = 735
5+ ClientHeight = 542
6+ ClientWidth = 742
77 Color = clBtnFace
88 Font.Charset = DEFAULT_CHARSET
99 Font.Color = clWindowText
@@ -20,18 +20,18 @@ object TextDeFindForm: TTextDeFindForm
2020 TextHeight = 16
2121 object Splitter1: TSplitter
2222 Left = 185
23- Top = 294
23+ Top = 311
2424 Width = 9
25- Height = 198
25+ Height = 180
2626 ExplicitLeft = 232
2727 ExplicitTop = 200
2828 ExplicitHeight = 65
2929 end
3030 object Web: TWebBrowser
3131 Left = 194
32- Top = 294
33- Width = 541
34- Height = 198
32+ Top = 311
33+ Width = 548
34+ Height = 180
3535 Align = alClient
3636 TabOrder = 7
3737 ExplicitLeft = 242
@@ -39,7 +39,7 @@ object TextDeFindForm: TTextDeFindForm
3939 ExplicitWidth = 300
4040 ExplicitHeight = 150
4141 ControlData = {
42- 4C000000EA370000771400000000000000000000000000000000000000000000
42+ 4C000000A33800009B1200000000000000000000000000000000000000000000
4343 000000004C000000000000000000000001000000E0D057007335CF11AE690800
4444 2B2E126208000000000000004C0000000114020000000000C000000000000046
4545 8000000000000000000000000000000000000000000000000000000000000000
@@ -47,26 +47,27 @@ object TextDeFindForm: TTextDeFindForm
4747 end
4848 object Memo1: TMemo
4949 Left = 194
50- Top = 294
51- Width = 541
52- Height = 198
50+ Top = 311
51+ Width = 548
52+ Height = 180
5353 Align = alClient
5454 Lines.Strings = (
5555 'Memo1')
5656 TabOrder = 8
57- ExplicitTop = 243
58- ExplicitHeight = 249
57+ ExplicitTop = 294
58+ ExplicitWidth = 541
59+ ExplicitHeight = 198
5960 end
6061 object LeftPanel: TPanel
6162 Left = 0
62- Top = 294
63+ Top = 311
6364 Width = 185
64- Height = 198
65+ Height = 180
6566 Align = alLeft
6667 Caption = 'LeftPanel'
6768 TabOrder = 4
68- ExplicitTop = 243
69- ExplicitHeight = 249
69+ ExplicitTop = 294
70+ ExplicitHeight = 198
7071 object ListName: TComboBox
7172 Left = 1
7273 Top = 1
@@ -85,7 +86,7 @@ object TextDeFindForm: TTextDeFindForm
8586 Left = 1
8687 Top = 51
8788 Width = 183
88- Height = 146
89+ Height = 128
8990 Align = alClient
9091 Font.Charset = SHIFTJIS_CHARSET
9192 Font.Color = clWindowText
@@ -100,7 +101,7 @@ object TextDeFindForm: TTextDeFindForm
100101 TabOrder = 1
101102 Zoom = 100
102103 OnMouseUp = TextMouseUp
103- ExplicitHeight = 197
104+ ExplicitHeight = 146
104105 end
105106 object Tree: TTreeView
106107 Left = 1
@@ -117,14 +118,15 @@ object TextDeFindForm: TTextDeFindForm
117118 object Panel1: TPanel
118119 Left = 0
119120 Top = 0
120- Width = 735
121+ Width = 742
121122 Height = 25
122123 Align = alTop
123124 TabOrder = 0
125+ ExplicitWidth = 735
124126 object Path: TComboBox
125127 Left = 166
126128 Top = 1
127- Width = 460
129+ Width = 467
128130 Height = 24
129131 Align = alClient
130132 DropDownCount = 30
@@ -133,6 +135,7 @@ object TextDeFindForm: TTextDeFindForm
133135 Items.Strings = (
134136 'D:\Music\'
135137 'D:\Music\%'#12522#12473#12488#21517'%')
138+ ExplicitWidth = 460
136139 end
137140 object Find: TButton
138141 Left = 1
@@ -156,7 +159,7 @@ object TextDeFindForm: TTextDeFindForm
156159 OnClick = Button1Click
157160 end
158161 object PathEditButton: TButton
159- Left = 680
162+ Left = 687
160163 Top = 1
161164 Width = 54
162165 Height = 23
@@ -164,9 +167,10 @@ object TextDeFindForm: TTextDeFindForm
164167 Caption = #32232#38598
165168 TabOrder = 3
166169 OnClick = PathEditButtonClick
170+ ExplicitLeft = 680
167171 end
168172 object PathSelButton: TButton
169- Left = 626
173+ Left = 633
170174 Top = 1
171175 Width = 54
172176 Height = 23
@@ -174,13 +178,14 @@ object TextDeFindForm: TTextDeFindForm
174178 Caption = #36984#25246
175179 TabOrder = 4
176180 OnClick = PathSelButtonClick
181+ ExplicitLeft = 626
177182 end
178183 end
179184 object GridFiles: TStringGrid
180185 Left = 194
181- Top = 294
182- Width = 541
183- Height = 198
186+ Top = 311
187+ Width = 548
188+ Height = 180
184189 Align = alClient
185190 Ctl3D = False
186191 DrawingStyle = gdsClassic
@@ -191,8 +196,9 @@ object TextDeFindForm: TTextDeFindForm
191196 OnMouseDown = GridFilesMouseDown
192197 OnSelectCell = GridFilesSelectCell
193198 OnSetEditText = GridFilesSetEditText
194- ExplicitTop = 243
195- ExplicitHeight = 249
199+ ExplicitTop = 294
200+ ExplicitWidth = 541
201+ ExplicitHeight = 198
196202 ColWidths = (
197203 64
198204 64
@@ -208,12 +214,14 @@ object TextDeFindForm: TTextDeFindForm
208214 end
209215 object buf: TStringGrid
210216 Left = 0
211- Top = 516
212- Width = 735
217+ Top = 515
218+ Width = 742
213219 Height = 27
214220 Align = alBottom
215221 TabOrder = 2
216222 Visible = False
223+ ExplicitTop = 516
224+ ExplicitWidth = 735
217225 ColWidths = (
218226 64
219227 64
@@ -229,25 +237,28 @@ object TextDeFindForm: TTextDeFindForm
229237 end
230238 object TMP: TComboBox
231239 Left = 0
232- Top = 492
233- Width = 735
240+ Top = 491
241+ Width = 742
234242 Height = 24
235243 Align = alBottom
236244 TabOrder = 3
237245 Text = 'TMP'
238246 Visible = False
247+ ExplicitTop = 492
248+ ExplicitWidth = 735
239249 end
240250 object Panel3: TPanel
241251 Left = 0
242252 Top = 25
243- Width = 735
253+ Width = 742
244254 Height = 25
245255 Align = alTop
246256 TabOrder = 5
257+ ExplicitWidth = 735
247258 object Url: TComboBox
248259 Left = 76
249260 Top = 1
250- Width = 516
261+ Width = 523
251262 Height = 24
252263 Align = alClient
253264 DropDownCount = 30
@@ -255,7 +266,7 @@ object TextDeFindForm: TTextDeFindForm
255266 Items.Strings = (
256267
257268 '[itunes] itmss://itunes.apple.com/search?country=jp&limit=200&' +
258- 'term=%'#26908#32034#25991#23383'%'
269+ 'attribute=songTerm&term=%'#26908#32034#25991#23383'%'
259270
260271 '[itunes] itmss://itunes.apple.com/search?country=jp&limit=200&' +
261272 'term=%'#12522#12473#12488#21517'%+%'#26908#32034#25991#23383'%'
@@ -283,6 +294,7 @@ object TextDeFindForm: TTextDeFindForm
283294
284295 '[apple] https://itunes.apple.com/search?term=%'#12522#12473#12488#21517'% %'#26908#32034#25991#23383'%&co' +
285296 'untry=jp')
297+ ExplicitWidth = 516
286298 end
287299 object FindUrlButton: TButton
288300 Left = 1
@@ -295,7 +307,7 @@ object TextDeFindForm: TTextDeFindForm
295307 OnClick = FindUrlButtonClick
296308 end
297309 object UrlEditButton: TButton
298- Left = 592
310+ Left = 599
299311 Top = 1
300312 Width = 54
301313 Height = 23
@@ -303,9 +315,10 @@ object TextDeFindForm: TTextDeFindForm
303315 Caption = #32232#38598
304316 TabOrder = 2
305317 OnClick = UrlEditButtonClick
318+ ExplicitLeft = 592
306319 end
307320 object OpURLButton: TButton
308- Left = 646
321+ Left = 653
309322 Top = 1
310323 Width = 88
311324 Height = 23
@@ -313,13 +326,14 @@ object TextDeFindForm: TTextDeFindForm
313326 Caption = #12458#12503#12471#12519#12531
314327 TabOrder = 3
315328 OnClick = OpURLButtonClick
329+ ExplicitLeft = 646
316330 end
317331 end
318332 object OpURLPanel: TPanel
319333 Left = 0
320334 Top = 50
321- Width = 735
322- Height = 244
335+ Width = 742
336+ Height = 261
323337 Align = alTop
324338 AutoSize = True
325339 TabOrder = 6
@@ -327,7 +341,7 @@ object TextDeFindForm: TTextDeFindForm
327341 object OpURLEscape: TCheckBox
328342 Left = 1
329343 Top = 59
330- Width = 733
344+ Width = 740
331345 Height = 17
332346 Align = alTop
333347 Caption = #12456#12473#12465#12540#12503
@@ -339,7 +353,7 @@ object TextDeFindForm: TTextDeFindForm
339353 object OpUrlSpace: TCheckBox
340354 Left = 1
341355 Top = 18
342- Width = 733
356+ Width = 740
343357 Height = 17
344358 Align = alTop
345359 Caption = #31354#30333#12395#22793#25563
@@ -351,7 +365,7 @@ object TextDeFindForm: TTextDeFindForm
351365 object OpURLZenkaku: TCheckBox
352366 Left = 1
353367 Top = 100
354- Width = 733
368+ Width = 740
355369 Height = 17
356370 Align = alTop
357371 Caption = #20840#35282#21270
@@ -361,7 +375,7 @@ object TextDeFindForm: TTextDeFindForm
361375 object OpURLEscapeEdit: TEdit
362376 Left = 1
363377 Top = 76
364- Width = 733
378+ Width = 740
365379 Height = 24
366380 Align = alTop
367381 TabOrder = 3
@@ -371,7 +385,7 @@ object TextDeFindForm: TTextDeFindForm
371385 object OpURLSpaceEdit: TEdit
372386 Left = 1
373387 Top = 35
374- Width = 733
388+ Width = 740
375389 Height = 24
376390 Align = alTop
377391 TabOrder = 4
@@ -383,7 +397,7 @@ object TextDeFindForm: TTextDeFindForm
383397 object OptionUrlDQuote: TCheckBox
384398 Left = 1
385399 Top = 117
386- Width = 733
400+ Width = 740
387401 Height = 17
388402 Align = alTop
389403 Caption = '""'#12391#22258#12416
@@ -393,7 +407,7 @@ object TextDeFindForm: TTextDeFindForm
393407 object OpURLComment: TCheckBox
394408 Left = 1
395409 Top = 1
396- Width = 733
410+ Width = 740
397411 Height = 17
398412 Align = alTop
399413 Caption = '//'#12363#12425#24460#12429#12399#12467#12513#12531#12488
@@ -405,7 +419,7 @@ object TextDeFindForm: TTextDeFindForm
405419 object OpURLFile: TCheckBox
406420 Left = 1
407421 Top = 134
408- Width = 733
422+ Width = 740
409423 Height = 17
410424 Align = alTop
411425 Caption = #12501#12449#12452#12523#21015#12395#29983#12487#12540#12479
@@ -414,8 +428,8 @@ object TextDeFindForm: TTextDeFindForm
414428 end
415429 object OpURLituneNazo: TCheckBox
416430 Left = 1
417- Top = 168
418- Width = 733
431+ Top = 185
432+ Width = 740
419433 Height = 17
420434 Align = alTop
421435 Caption = #12450#12540#12486#12451#12473#12488'+'#12479#12452#12488#12523#12391#12399#20309#25925#12363#20986#12390#12371#12394#12356#12398#12391#12479#12452#12488#12523#12398#12415#12391#26908#32034#12375#12390#12522#12473#12488#21517#12391#32094#12427
@@ -426,8 +440,8 @@ object TextDeFindForm: TTextDeFindForm
426440 end
427441 object OpURLWait: TMaskEdit
428442 Left = 1
429- Top = 202
430- Width = 733
443+ Top = 219
444+ Width = 740
431445 Height = 24
432446 Align = alTop
433447 EditMask = #12454#12456#12452#12488'#####;1; '
@@ -438,8 +452,8 @@ object TextDeFindForm: TTextDeFindForm
438452 end
439453 object OpURLLocal: TCheckBox
440454 Left = 1
441- Top = 185
442- Width = 733
455+ Top = 202
456+ Width = 740
443457 Height = 17
444458 Align = alTop
445459 Caption = #12525#12540#12459#12523#26908#32034#12418#23455#34892
@@ -451,7 +465,7 @@ object TextDeFindForm: TTextDeFindForm
451465 object OpURLitune: TCheckBox
452466 Left = 1
453467 Top = 151
454- Width = 733
468+ Width = 740
455469 Height = 17
456470 Align = alTop
457471 Caption = 'itmss:'#12399'json'#35299#26512
@@ -462,13 +476,24 @@ object TextDeFindForm: TTextDeFindForm
462476 end
463477 object OpURLReset: TCheckBox
464478 Left = 1
465- Top = 226
466- Width = 733
479+ Top = 243
480+ Width = 740
467481 Height = 17
468482 Align = alTop
469483 Caption = #35373#23450#12434#21021#26399#21270#12375#12390#32066#20102
470484 TabOrder = 12
471- ExplicitTop = 225
485+ ExplicitTop = 227
486+ end
487+ object OpURLOpenSave: TCheckBox
488+ Left = 1
489+ Top = 168
490+ Width = 740
491+ Height = 17
492+ Align = alTop
493+ Caption = 'itmss:'#12506#12540#12472#12434#12501#12449#12452#12523#12395#20445#23384'('#23455#34892#12501#12457#12523#12480')'
494+ TabOrder = 13
495+ ExplicitLeft = 0
496+ ExplicitTop = 179
472497 end
473498 end
474499 object PopupMenu2: TPopupMenu
@@ -530,6 +555,10 @@ object TextDeFindForm: TTextDeFindForm
530555 Caption = #12463#12522#12450
531556 OnClick = PClearClick
532557 end
558+ object PReFind: TMenuItem
559+ Caption = #20877#26908#32034
560+ Visible = False
561+ end
533562 end
534563 object PopupMenu1: TPopupMenu
535564 Left = 104
--- a/textdefindunit.pas
+++ b/textdefindunit.pas
@@ -159,6 +159,8 @@ type
159159 OpURLLocal:TCheckBox;
160160 OpURLitune:TCheckBox;
161161 OpURLReset:TCheckBox;
162+ PReFind: TMenuItem;
163+ OpURLOpenSave: TCheckBox;
162164 procedure FindClick(Sender:TObject);
163165 procedure FormCreate(Sender:TObject);
164166 procedure GridFilesMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
@@ -199,6 +201,7 @@ type
199201 private
200202 function getpathtext:string;
201203 function localfind(var sa:TStringDynArray;ssss:string):boolean;
204+ function iddownload(Url: string): string;
202205 { Private 宣言 }
203206 public
204207 { Public 宣言 }
@@ -445,7 +448,25 @@ begin
445448 Files.cutcopy(true);
446449 end;
447450
448-procedure TTextDeFindForm.FindUrlButtonClick(Sender:TObject);
451+function TTextDeFindForm.iddownload(Url:string):string;
452+var
453+ s:TStringStream;
454+begin
455+ IdHTTP.HandleRedirects:=true;
456+ s:=TStringStream.Create('',TEncoding.UTF8);
457+ try
458+ Url:=TIdURI.ParamsEncode(Url,IndyTextEncoding_UTF8);
459+ IdHTTP.Get(Url,s);
460+ s.Position:=0;
461+ Result:=s.ReadString(s.Size);
462+ finally
463+ FreeAndNil(s);
464+ end;
465+ IdHTTP.Disconnect;
466+end;
467+
468+
469+ procedure TTextDeFindForm.FindUrlButtonClick(Sender:TObject);
449470 var
450471 urls,s,ss:string;
451472 ls,le,i,count:Integer;
@@ -482,23 +503,6 @@ var
482503 Result:=trim(Url);
483504 end;
484505
485- function iddownload(Url:string):string;
486- var
487- s:TStringStream;
488- begin
489- IdHTTP.HandleRedirects:=true;
490- s:=TStringStream.Create('',TEncoding.UTF8);
491- try
492- Url:=TIdURI.ParamsEncode(Url,IndyTextEncoding_UTF8);
493- IdHTTP.Get(Url,s);
494- s.Position:=0;
495- Result:=s.ReadString(s.Size);
496- finally
497- FreeAndNil(s);
498- end;
499- IdHTTP.Disconnect;
500-
501- end;
502506
503507 function jsontogrid(Url:string):string;
504508 var
@@ -522,6 +526,10 @@ var
522526
523527 begin
524528 data:=iddownload(Url);
529+ if OpURLOpenSave.Checked then begin
530+ Memo1.Lines.text:=data;
531+ Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+ss+'_'+inttostr(Files.RowCount)+'.txt');
532+ end;
525533 try
526534 obj:=TJSONObject.ParseJSONValue(data) as TJSONObject;
527535 vresults:=obj.GetValue('results') as TJSONArray;
@@ -541,7 +549,8 @@ var
541549 Files.cells[NPATH,r]:=getval('trackViewUrl').Replace('https:','itmss:');
542550 Files.cells[NNAME,r]:=getval('artistName');
543551 Files.cells[NALBAM,r]:=getval('collectionName');
544- Files.cells[NOPEN,r]:='M';
552+ if getval('isStreamable')='true' then
553+ Files.cells[NOPEN,r]:='M';
545554 Files.cells[NOPEN2,r]:='S';
546555 end;
547556
@@ -771,7 +780,7 @@ end;
771780
772781 procedure TTextDeFindForm.GridFilesSelectCell(Sender:TObject;ACol,ARow:Integer;var CanSelect:boolean);
773782 var
774- s:string;
783+ s,d:string;
775784 begin
776785 PFileUpdateClick(Sender);
777786 if ACol=NOPEN then
@@ -780,6 +789,12 @@ begin
780789 s:=Files.cells[NPATH,ARow]+'&app=itunes';
781790
782791 if s='' then exit;
792+ if OpURLOpenSave.Checked then begin
793+ Memo1.Lines.text:=iddownload(s.Replace('itmss:','https:'));
794+ Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+Zenkaku(Files.cells[NFILE,ARow])+'_'+Zenkaku(Files.cells[NALBAM,ARow])+'.txt');
795+ end;
796+
797+
783798
784799 ShellExecute(Handle,'open',PChar(s),'','',1);
785800
Show on old repository browser