Jump to content
H3xoR

Fast Text Reader

Recommended Posts

Salut tutoror!

M-am uitat în seara asta la un video pe youtube (DDH) în care s-a adus vorba de o aplica?ie care-?i permite s? cite?ti "mai repede" un text prin transformarea acestuia în tokens ?i afi?area lor, în acest fel utilizatorul putând s? se concentreze mai bine pe fiecare cuvânt în parte, reducând astfel timpul de citire. Din câte am în?eles, aplica?ia este doar pentru android, nu am desc?rcat-o ?i nici nu m-am interesat cum fun?ioneaz?, dar m-am gândit c? a? putea s? fac ?i eu ceva asem?n?tor pentru toate sistemele de operare care au un browser cât de cât normal (s-ar putea s? func?ioneze ?i pe un telefon cu browser, telefoanele de prin 2006).

Codul "aplica?iei":

<!DOCTYPE html>

<html>

<head>

<title>Fast Text Reader</title>

<style>

#text_input {

border: 1px solid #CCCCCC;

outline: none;

width: 500px;

height: 300px;

padding: 5px;

margin: 0px;

overflow-y: scroll;

color: #000000;

background-color: #FFFFFF;

font-family: Arial;

font-size: 14px;

resize: none;

}

#text_reader {

border: 1px solid #CCCCCC;

outline: none;

width: 510px;

height: 60px;

padding: 0px;

margin: 0px;

overflow: none;

color: #000000;

background-color: #FFFFFF;

font-family: Arial;

font-size: 40px;

text-align: center;

line-height: 60px;

resize: none;

cursor: default;

}

#text_speed_show {

font-family: Arial;

font-size: 14px;

}

</style>

<script>

var data, it, interval, speed, cronometru;

document.addEventListener("readystatechange", function(e) {

if (document.readyState == "complete") {

data = new Array();

document.querySelector("#text_start").addEventListener("click", function(e) {

it = 0;

speed = document.querySelector("#text_speed").value;

if (interval == null) {

document.querySelector("#text_start").disabled = true;

document.querySelector("#text_speed").disabled = true;

document.querySelector("#text_input").disabled = true;

interval = setInterval(function() {

if (it < data.length)

document.querySelector("#text_reader").value = data[it++];

else {

clearInterval(interval);

interval = null;

document.querySelector("#text_start").disabled = false;

document.querySelector("#text_speed").disabled = false;

document.querySelector("#text_input").disabled = false;

}

}, speed);

}

});

document.querySelector("#text_input").addEventListener("input", function(e) {

data = document.querySelector("#text_input").value.replace(/\s+/g, " ").split(" ");

var info = document.querySelector("#text_speed");

var time = new Date(data.length * info.value);

document.querySelector("#text_speed_show").innerHTML = info.value + "ms delay, " + data.length + " tokens, time to read: " + time.getUTCHours() + "h " + time.getUTCMinutes() + "m " + time.getUTCSeconds() + "s";

});

document.querySelector("#text_speed").addEventListener("change", function(e) {

var info = this;

var time = new Date(data.length * info.value);

document.querySelector("#text_speed_show").innerHTML = info.value + "ms delay, " + data.length + " tokens, time to read: " + time.getUTCHours() + "h " + time.getUTCMinutes() + "m " + time.getUTCSeconds() + "s";

});

document.querySelector("#crono").addEventListener("click", function(e) {

if (cronometru) {

var time = new Date(new Date() - cronometru);

alert(time.getUTCHours() + "h " + time.getUTCMinutes() + "m " + time.getUTCSeconds() + "s");

cronometru = null;

}

else

cronometru = new Date();

});

}

});

</script>

</head>

<body>

<textarea id="text_input" value="" spellcheck="false"></textarea>

<br>

<textarea id="text_reader" disabled="true" spellcheck="false"></textarea>

<br>

<input id="text_speed" type="range" min="100" max="1000" value="500"></input>

<div id="text_speed_show">Set text speed</div>

<br>

<button id="text_start">Start reading</button>

<button id="crono">Start/Stop stopwatch</button>

</body>

</html>

Click aici dac? nu func?ioneaz? codul, îl formateaz? gre?it editorul..

Cum se folose?te? Foarte simplu!

Inser?m un text în spa?iul de input, set?m timpul de delay pentru afi?area fiec?rui token prin acel "range control" (între 100 ?i 1000 ms) ?i ap?s?m butonul „Start reading”. Aplica?ia calculeaz? (când schimb?m acel range) timpul necesar pentru citire ?i îl afi?eaz?, astfel putem ?ti sigur cât timp ne va lua s? citim respectivul text cuvând cu cuvânt.

De asemenea, aplica?ia mai dispune ?i de un cronometru, în cazul în care vrem s? test?m "noi" cât de repede putem citi respectivul text f?r? s? îl "tokeniz?m", acest feature ne poate ajuta s? ne d?m seama dac? este folositoare aplica?ia sau e degeaba :)).

?tiu c? nu e cine ?tie ce descoperire sau inven?ie dar m-am gândit c? poate ar putea s? ajute pe cineva cândva, cine ?tie.

Orice p?rere e bine venit? a?a c? pute?i începe cu spam-ul!! :)).

Pace.

Edited by H3xoR
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...