procedure TMainWnd.TaskTrayWndProc(var Msg: TMessage); begin try Case Msg.LParam of WM_LBUTTONUP: begin DeleteTaskBarIcon; ShowWindow(Application.Handle,SW_SHOW); Show; if Assigned(WriteForm) then WriteForm.MainWndOnShow; SetFocus; end; WM_RBUTTONUP: begin (* ここに書くといいです *) //DeleteTaskBarIcon; //Close; end; end;
>>659 procedure TMainWnd.KeywordExtraction(Sender: TObject; UseSelection: Boolean); var rc: integer; target:string; viewItem: TViewItem; BaseViewItem: TBaseViewItem; //追加 begin viewItem := GetActiveView; if (viewItem=nil) or(viewItem.thread=nil) then Exit; {追加} if UseSelection then begin if (PopupTextMenu.PopupComponent is THogeTextView) then BaseViewItem := GetViewOf(PopupTextMenu.PopupComponent) else BaseViewItem := viewItem end else BaseViewItem := viewItem; {/追加} if GrepDlg = nil then GrepDlg := TGrepDlg.Create(self); GrepDlg.Caption := 'レス抽出';
//viewItem := GetActiveView; //↓ if UseSelection then begin if (PopupTextMenu.PopupComponent is THogeTextView) then viewItem := GetViewOf(PopupTextMenu.PopupComponent) else viewItem := GetActiveView; end else viewItem := GetActiveView;
finalization // Dont Free. If shutdown is from another Init section, it can cause GPF when stack // tries to access it. App will kill it off anyways, so just let it leak // FreeAndNil(GStackCriticalSection);
procedure TMainWnd.UpdateTabTexts(refresh: boolean = false); (略) for i := 0 to viewList.Count -1 do if (viewList.Items[i].thread <> nil) then begin if (viewList.Count = 1) or (TabControl.TabWidth > 0) then begin if ((TabControl.Tabs.Strings[i] = '') or refresh) then TabControl.Tabs.Strings[i] := Copy(AnsiReplaceText(HTML2String(viewList.Items[i].thread.title), '&', '&&'), 1, 4095); end else TabControl.Tabs.Strings[i] := AnsiReplaceText(TabString(HTML2String(viewList.Items[i].thread.title)), '&', '&&'); end; (略)
制御文字ぜんぶ消していいかな? procedure EraseChars(var s: string); var p1, p2, pe: pchar; begin UniqueString(s); p1:= pchar(s); p2:= p1; pe:= p1 + Length(s)-1; while p2 <= pe do begin if not (p2^ in [#0..#31,#127]) then begin p1^:= p2^; inc(p1); end; inc(p2); end; if p1 <> p2 then SetLength(s, p1 - pchar(s)); end;
あと、↓も function JBBSShitarabaHTMLLineToDatLine(line: string): string; (略 if idpos > 0 then begin i := idpos + 2; id := Copy(dateid, i, FindPos(' ', dateid, i) - i); idpos := Pos('<font size=1>', dateid); //←追加 Delete(dateid, idpos, High(integer)); dateid := dateid + 'ID:' + id; end;