UserScript • PB-SyntaxHighlighting für Codes im Forum

Fragen und Anregungen zum Forum.
Beiträge die Community betreffend
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von ts-soft »

@STARGÅTE

Wäre schön, wenn Du das Script updaten könntest. In PBSH_Syntax fehlen:
DeclareModule
EndDeclareModule
EndModule
Module
Runtime
Danke und Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von c4s »

Im englischen Forum habe ich Flaiths Code um die neuen Keywords von PB5.20 aktualisiert. Außerdem habe ich die Schlüsselwörter richtig sortiert und ca. 20 Duplikate entfernt:
http://www.purebasic.fr/english/viewtop ... 12#p415412
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von ts-soft »

Naja, aber wenn man seine Syntaxfarben möchte, wäre es doch besser wenn STARGÅTE
seine Version updatet :wink:

In meiner Version sind keine Dubletten, aber ich hab ja den Teil von edel mit dem von STARGÅTE
irgendwann mal gemixed :mrgreen: , weiß gar nicht mehr von wem was kommt, aber es funktioniert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von c4s »

ts-soft hat geschrieben:Naja, aber wenn man seine Syntaxfarben möchte, wäre es doch besser wenn STARGÅTE seine Version updatet :wink:
Natürlich wäre es am besten, wenn STARGÅTE den Code aktualisiert. Du kannst dir aber auch ohne großen Aufwand selbst abhelfen, schließlich muss nur eine Zeile im Benutzerskript angepasst werden - im Firefox:
1) Im Addon-Manager auf "Benutzerscripts"
2) "PureBasic Syntax Highlightning" auswählen
3) Per Rechtsklick auf "Bearbeiten" klicken
4) Zeile 76 (fängt mit " var PBSH_Syntax =" an) mit dem neuen Code ersetzen
5) Abschließend speichern, fertig! :)
ts-soft hat geschrieben:In meiner Version sind keine Dubletten
Zumindest ist dies beim Original von STARGÅTE, sowie der Anpassung von flaith der Fall.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von STARGÅTE »

Ich habe nun meine 1-6 Version aktualisiert (die 1-7 wollte ja keiner ^^)
Auch die doppelten EndXXX sachen sind entfernt.

http://www.unionbytes.de/downloads/Pure ... 6b.user.js

Was den "::" für Module angeht, scheint ja die IDE auch noch keine "Meinung" zu haben und behandelt es erst mal als Label
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von Kevin »

STARGÅTE hat geschrieben:Ich habe nun meine 1-6 Version aktualisiert (die 1-7 wollte ja keiner ^^)
Auch die doppelten EndXXX sachen sind entfernt.

http://www.unionbytes.de/downloads/Pure ... 6b.user.js

Was den "::" für Module angeht, scheint ja die IDE auch noch keine "Meinung" zu haben und behandelt es erst mal als Label
Also Ich benutzte die Version 2.0 BETA da man mit der den Code selektieren kann.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von ts-soft »

Alten Beitrag ausgraben :mrgreen:

Wie bekommt ich Greasemonkey mit https zum Laufen? Seit der Umstellung geht ja gar nichts mehr.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von Bisonte »

Kann ich nicht bestätigen....
Ich habe am Skript oder an Greasemonkey seit der Installation keine Änderungen vorgenommen, und
es funktioniert immer noch alles wie gewohnt.

Edit : Es handelt sich um die PureBasicSyntaxHighlighting_1-6b.user.js
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von ts-soft »

Hab es jetzt mit der Original-Version PureBasicSyntaxHighlighting_1-6b.user.js probiert, keine Änderungen.

FireFox 60.0.1 (64-Bit)
Greasemonkey 4.4.0

Ist für mich natürlich besonders traurig, da ich in dem normalem grünen Codefeld nicht viel erkennen kann (Augen).
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: UserScript • PB-SyntaxHighlighting für Codes im Forum

Beitrag von Bisonte »

Ich seh grade... bei mir ist noch GreaseMonkey 4.3 am werkeln. Da kam wohl noch kein Update bei mir an....

Aber das Skript das hier läuft ist folgendes (auf mein "Farbschema" getrimmt)
Zumindest ist es das was FF mir anzeigt.

Code: Alles auswählen

var PBSH_Highlight = new Object();

 // ==PureBasicPreference==

PBSH_Highlight['EnableKeywordBolding'] = 1;
PBSH_Highlight['EditorFontName'] = 'Consolas';
PBSH_Highlight['EditorFontSize'] = '10';
PBSH_Highlight['EditorFontStyle'] = '';
PBSH_Highlight['BackgroundColor'] = '#000000';
PBSH_Highlight['NormalTextColor'] = '#009FEC';
PBSH_Highlight['BasicKeywordColor'] = '#E1E100';
PBSH_Highlight['CommentColor'] = '#C0C0C0';
PBSH_Highlight['ConstantColor'] = '#FF1C1C';
PBSH_Highlight['StringColor'] = '#FFFFFF';
PBSH_Highlight['PureKeywordColor'] = '#00CA00';
PBSH_Highlight['ASMKeywordColor'] = '#FFFFFF';
PBSH_Highlight['PointerColor'] = '#FFA74F';
PBSH_Highlight['NumberColor'] = '#808080';
PBSH_Highlight['StructureColor'] = '#00D5D5';
PBSH_Highlight['LabelColor'] = '#00F0F0';
PBSH_Highlight['OperatorColor'] = '#FFFFFF';
PBSH_Highlight['SeparatorColor'] = '#CCCC00';

 // ==/PureBasicPreference==

//===================================================
// UserScript für die Syntaxhervorhebung
// user script for syntax highlighting
//===================================================

 // Regulärer Ausdrück für das SyntaxHighlighting
 // regular expressions for the syntax lighting
 //                |( Keyword                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             )|( Comment           )|( Constant           )|( String    )|( Function                                                 )|( ASM                           )|( Pointer                                     )|( Number                                       )|( Structure                                                                                                                   )|( Label                     )|( Operator                   )|( Separator   )|
// var PBSH_Syntax = /([^\w";\\][ \t]*(?:And|Array|As|Break|CallDebugger|Case|CompilerCase|CompilerDefault|CompilerElse|CompilerEndIf|CompilerEndSelect|CompilerError|CompilerIf|CompilerEndIf|CompilerSelect|CompilerEndSelect|Continue|Data|DataSection|EndDataSection|Debug|DebugLevel|Declare|DeclareCDLL|DeclareDLL|Default|Define|Dim|DisableASM|DisableDebugger|DisableExplicit|Else|ElseIf|EnableASM|EnableDebugger|EnableExplicit|End|EndDataSection|EndEnumeration|EndIf|EndImport|EndInterface|EndMacro|EndProcedure|EndSelect|EndStructure|EndStructureUnion|EndWith|Enumeration|EndEnumeration|Extends|FakeReturn|For|Next|ForEach|Next|ForEver|Global|Gosub|Goto|If|EndIf|Import|EndImport|ImportC|EndImport|IncludeBinary|IncludeFile|IncludePath|Interface|EndInterface|List|Macro|EndMacro|Map|NewList|NewMap|Next|Not|Or|Procedure|EndProcedure|ProcedureC|EndProcedure|ProcedureCDLL|EndProcedure|ProcedureDLL|EndProcedure|ProcedureReturn|Protected|Prototype|PrototypeC|Read|ReDim|Repeat|Until|Restore|Return|Select|EndSelect|Shared|Static|Step|Structure|EndStructure|StructureUnion|EndStructureUnion|Swap|Threaded|To|Until|Wend|While|Wend|With|EndWith|XIncludeFile|XOr)(?!\w))|(;[^\r\n]*(?=[\r\n]))|(\#\w*\$?|'[^'\r\n]*')|("[^"\r\n]*")|([^\w.][ \t]*\w+\$?(?=(?:[ \t]*\.[ \t]*\w+[ \t]*|[ \t]*)\())|([\n][ \t]*![^\r\n;]*(?=[\n\r;]))|(.\@\*?[\w\$]*|[^\w$)\]][ \t]*\*[\w\$]+|.\?\w*)|(\W(?:\d+\.?[e\d]*|\$[\dabcdef]+|\%[01]+)(?!\w))|(\.[ \t]*(?:[^\Wabcdfilqsuw](?!\w)|\w\w+)|\\[ \t]*\w+\$?|\W\w+(?=[ \t]*\\)|\W\w+(?=[ \t]*\.[ \t]*(?:[^\Wabcdfilqsuw]\W|\w\w+)))|([\n][ \t]*\w+\$?(?=[ \t]*:))|([+*/\-|!%=~]|&|<|>)|([()\[\]\\:,.])/gi ;

 var PBSH_Syntax = /([^\w";\\][ \t]*(?:Align|And|Array|As|Break|CallDebugger|Case|CompilerCase|CompilerDefault|CompilerElse|CompilerElseIf|CompilerEndIf|CompilerEndSelect|CompilerError|CompilerIf|CompilerSelect|Continue|Data|DataSection|Debug|DebugLevel|Declare|DeclareC|DeclareCDLL|DeclareDLL|DeclareModule|Default|Define|Dim|DisableASM|DisableDebugger|DisableExplicit|Else|ElseIf|EnableASM|EnableDebugger|EnableExplicit|End|EndDataSection|EndDeclareModule|EndEnumeration|EndIf|EndImport|EndInterface|EndMacro|EndModule|EndProcedure|EndSelect|EndStructure|EndStructureUnion|EndWith|Enumeration|Extends|FakeReturn|For|ForEach|ForEver|Global|Gosub|Goto|If|Import|ImportC|IncludeBinary|IncludeFile|IncludePath|Interface|List|Macro|MacroExpandedCount|Map|Module|NewList|NewMap|Next|Not|Or|Procedure|ProcedureC|ProcedureCDLL|ProcedureDLL|ProcedureReturn|Protected|Prototype|PrototypeC|ReDim|Read|Repeat|Restore|Return|Runtime|Select|Shared|Static|Step|Structure|StructureUnion|Swap|Threaded|To|UndefineMacro|Until|UnuseModule|UseModule|Wend|While|With|XIncludeFile|XOr)(?!\w))|(;[^\r\n]*(?=[\r\n]))|(\#\w*\$?|'[^'\r\n]*')|("[^"\r\n]*")|([^\w.][ \t]*\w+\$?(?=(?:[ \t]*\.[ \t]*\w+[ \t]*|[ \t]*)\())|([\n][ \t]*![^\r\n;]*(?=[\n\r;]))|(.\@\*?[\w\$]*|[^\w$)\]][ \t]*\*[\w\$]+|.\?\w*)|(\W(?:\d+\.?[e\d]*|\$[\dabcdef]+|\%[01]+)(?!\w))|(\.[ \t]*(?:[^\Wabcdfilqsuw](?!\w)|\w\w+)|\\[ \t]*\w+\$?|\W\w+(?=[ \t]*\\)|\W\w+(?=[ \t]*\.[ \t]*(?:[^\Wabcdfilqsuw]\W|\w\w+)))|([\n][ \t]*\w+\$?(?=[ \t]*:))|([+*/\-|!%=~]|&|<|>)|([()\[\]\\:,.])/gi ;
 
 // Hervorheben einer Zeichenkette
 // highlighting a string
 function PBSH_Highlighting(str, key)
  {
  if (PBSH_Highlight[key])
   return '<font color="'+PBSH_Highlight[key]+'">'+str+'</font>';
  else
   return str;
  }
 function PBSH_Highlighting_Shift(str, key)
  {
  if (PBSH_Highlight[key])
   {
   var chr = str.slice(0,1);
   if (PBSH_Highlight['OperatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   else if (PBSH_Highlight['SeparatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   return chr+'<font color="'+PBSH_Highlight[key]+'">'+str.slice(1,str.length)+'</font>';
   }
  else
   return str;
  }
 function PBSH_Highlighting_Keyword(str, key)
  {
  if (PBSH_Highlight[key])
   {
   var space = str.lastIndexOf(' ');
   if (space==-1) space = 0;
   var chr = str.slice(0,space+1);
   if (PBSH_Highlight['SeparatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   if (PBSH_Highlight['EnableKeywordBolding'])
    return chr+'<font color="'+PBSH_Highlight[key]+'"><b>'+str.slice(space+1,str.length)+'</b></font>';
   else
    return chr+'<font color="'+PBSH_Highlight[key]+'">'+str.slice(space+1,str.length)+'</font>';
   }
  else
   if (PBSH_Highlight['EnableKeywordBolding'])
    return '<b>'+str+'</b>';
   else
    return str;
  }

 // Ersetzen einer Zeichenkette
 // replace a string
 function PBSH_Replace(str, isKeyword, isComment, isConstant, isString, isFunction, isASM, isPointer, isNumber, isStructure, isLabel, isOperator, isSeparator)
  {
  if (isKeyword)        return PBSH_Highlighting_Keyword(isKeyword, 'BasicKeywordColor');
  else if (isComment)   return PBSH_Highlighting(isComment, 'CommentColor');
  else if (isConstant)  return PBSH_Highlighting(isConstant, 'ConstantColor');
  else if (isString)    return PBSH_Highlighting(isString, 'StringColor');
  else if (isFunction)  return PBSH_Highlighting_Shift(isFunction, 'PureKeywordColor');
  else if (isASM)       return PBSH_Highlighting_Shift(isASM, 'ASMKeywordColor');
  else if (isPointer)   return PBSH_Highlighting_Shift(isPointer, 'PointerColor');
  else if (isNumber)    return PBSH_Highlighting_Shift(isNumber, 'NumberColor');
  else if (isStructure) return PBSH_Highlighting_Shift(isStructure, 'StructureColor');
  else if (isLabel)     return PBSH_Highlighting_Shift(isLabel, 'LabelColor');
  else if (isOperator)  return PBSH_Highlighting(isOperator, 'OperatorColor');
  else if (isSeparator) return PBSH_Highlighting(isSeparator, 'SeparatorColor');
  }

 // Durchf&uuml;hres der Syntaxhervorhebung
 // carry out the syntax highlighting
 function PureBasicSyntaxHighlighting()
  {
  // Anwenden der Syntaxhervorhebung auf alle Elemente mit der Klasse codecontent
  // apply the syntax highlighting on all the elements with class codecontent
  var allMyDivs = document.getElementsByTagName('div');
  for(var i = 0; i < allMyDivs.length; i++)
   {
   if (allMyDivs[i].className == 'codecontent')
    {
    if (PBSH_Highlight['EditorFontName'])
     allMyDivs[i].style.font = PBSH_Highlight['EditorFontStyle']+" "+PBSH_Highlight['EditorFontSize']+"pt "+PBSH_Highlight['EditorFontName'];
    if (PBSH_Highlight['BackgroundColor'])
     allMyDivs[i].style.backgroundColor = PBSH_Highlight['BackgroundColor'];
    if (PBSH_Highlight['NormalTextColor'])
     allMyDivs[i].style.color           = PBSH_Highlight['NormalTextColor'];
    var code = ' '+allMyDivs[i].innerHTML+'\r';
    code = code.replace(/<br>/gi, '\r\n');
    code = code.replace(/&nbsp;/gi, '\t');
    code = code.replace(/<\/?[^<>]*>/gi, '');
    code = code.replace(PBSH_Syntax, PBSH_Replace);
    code = code.replace(/\t/gi, '&nbsp;');
    code = code.replace(/\r\n/gi, '<br>');
    allMyDivs[i].innerHTML = code;
    }
   }
  }

 PureBasicSyntaxHighlighting();
 
var hoch       = "95px";

var select     = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAMAAABIK2QJAAAAB3RJTUUH2AYGEg8u3H74gAAAABd0RVh0U29mdHdhcmUAR0xEUE5HIHZlciAzLjRxhaThAAAACHRwTkdHTEQzAAAAAEqAKR8AAAAEZ0FNQQAAsY8L/GEFAAADAFBMVEVFRUWAAAAAgACAgAAAAICAAIAAgIDAwMDA3MCmyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+/CgoKSAgID/AAAA/wD//wAAAP//AP8A//////+NCwMjAAAAAWJLR0T/pQfyxQAAADZJREFUeJyNjEEKADAMwvz/h+fNWdeOHRekSJCCjSTUMUT6MqKQLqdm4zM7PrP2t+fRvx+Ihw1yH39YLwn1QAAAAABJRU5ErkJggg==";
var minus      = "data:image/gif;base64,R0lGODlhCgAKAKIAADMzM//M/93d3WZmZv///wAAAAAAAAAAACH5BAEHAAEALAAAAAAKAAoAAAMVGLrc/mrISQe5+ErBOx9AKI5QaS4JADs=";
var plus       = "data:image/gif;base64,R0lGODlhCgAKAKIAADMzM//M/93d3WZmZv///wAAAAAAAAAAACH5BAEHAAEALAAAAAAKAAoAAAMgGDo8+mEQ4mAUosaGG5sEBjJYWQ5ACmAq8AyddWVy+yQAOw==";


var expandfunc =  '\n';
expandfunc +=     'function expand_code(img_id)\n';
expandfunc +=     '{\n';
expandfunc +=     ' var node = document.getElementById(img_id);\n';
expandfunc +=     ' node.src = "'+minus+'" ;\n';
expandfunc +=     ' node.onclick = function() { collapse_code(img_id); };\n';
expandfunc +=     ' var node = document.getElementById("c"+img_id);\n';
expandfunc +=    '  node.style.overflow = "visible";\n';
expandfunc +=    '  node.style.height = "100%";\n';
expandfunc +=     '}\n';

var collapsefunc = '\n';
collapsefunc +=    'function collapse_code(img_id)\n';
collapsefunc +=    '{\n';
collapsefunc +=    ' var node = document.getElementById(img_id);\n';
collapsefunc +=    ' node.src = "'+plus+'" ;\n';
collapsefunc +=    ' node.onclick = function() { expand_code(img_id); };\n';
collapsefunc +=    ' var node = document.getElementById("c"+img_id);\n';
collapsefunc +=    ' node.style.height = "'+hoch+'";\n';
collapsefunc +=    ' node.style.overflow = "scroll";\n';
collapsefunc +=    '}\n';

var selectfunc  = '\n';
selectfunc     += 'function select_code ( img_id )\n';
selectfunc     += '{\n';
selectfunc     += ' if ( window.getSelection() && window.getSelection().removeAllRanges() ) {\n';
selectfunc     += '   window.getSelection().removeAllRanges();\n';
selectfunc     += ' }\n';
selectfunc     += ' div_id = img_id - 1000;\n';
selectfunc     += ' var node = document.getElementById ( "c" + div_id );\n';
selectfunc     += ' if ( document.createRange() ){;\n';
selectfunc     += '   range = document.createRange();\n';
selectfunc     += '   if ( range.selectNode(node) ){;\n';
selectfunc     += '     range.selectNode(node);\n';
selectfunc     += '   };\n';
selectfunc     += ' };\n';
selectfunc     += ' if ( window.getSelection() && window.getSelection().addRange( range ) ){\n';
selectfunc     += '   window.getSelection().addRange( range );\n';
selectfunc     += ' };\n';
selectfunc     += '}\n';


var img_id       = 0;
var len = document.getElementsByTagName("div").length;
var script;

for (var i = 0;i<len;i++)
{
   if (document.getElementsByTagName("div")[i].className == "codetitle")
   {
      var node = document.getElementsByTagName("div")[i];
      var html = node.innerHTML;       
        var count = 0;            
      var code = 0;
      
      node.innerHTML = '<b>Code :</b>';
      
      img_id += 1; 
      select_id = img_id + 1000;
      
      code = node.nextSibling;
      
      if (code.innerHTML.split("<br>").length - 1 >= 10)
      {
         node.innerHTML += '&nbsp;<img id="'+ img_id    +'" src="'+plus  +'" onclick="expand_code('+img_id   +')" />';
         
         code.style.height = hoch;        
         code.style.overflow = "scroll";        
      }      
         
      code.id = "c" + img_id;  
         
      node.innerHTML += '&nbsp;<img id="'+ select_id +'" src="'+select+'" onclick="select_code('+select_id+')" />';
   }
}

script = document.createElement( 'script' );
script.innerHTML  = expandfunc; 
script.innerHTML += collapsefunc; 
script.innerHTML += selectfunc; 

document.body.appendChild(script);
 
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Antworten