Vrácení hodnoty buňky a převod na ord.hodnotu – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vrácení hodnoty buňky a převod na ord.hodnotu – Visual Basic – Fórum – Programujte.comVrácení hodnoty buňky a převod na ord.hodnotu – Visual Basic – Fórum – Programujte.com

 

oxidián0
Grafoman
26. 7. 2018   #1
-
0
-

Mohl by mi někdo napsat kód pro Excel XP, aby se mi vedle sloupce s textovými hodnotami napsalo, kolik by dělal součet ordinálních hodnot písmen? Znaky mají hodnoty v rozsahu a-z. Ideálně i s posuvem dolů, tak aby a bylo jako 1 a z jako 26. Takže abc = 1+2+3 = 6

Nahlásit jako SPAM
IP: 78.45.195.–
MilanL+1
Grafoman
27. 7. 2018   #2
-
0
-

#1 oxidián
co třeba tohle

Function asc2ord(ByVal value As Variant)
Dim i, tmp As Integer
Dim text As String
Dim znak As String
Dim ord As Integer

If Not (VarType(value) = 8) Then Exit Function

text = value

tmp = 0
For i = 1 To Len(text)
    znak = Mid(text, i, 1)
    ord = Asc(znak) + 1 - Asc("a")
    If (ord > 0) And (ord < 27) Then tmp = tmp + ord
Next

asc2ord = tmp
End Function

použití v nové bunce jako fuknce "=asc2ord(A1)"

je to hrubý kod, pro rychlou odpověď, šlo by to i o maličko zjednodušit vynechat některý převody a podmínku.

případně tam přidat chybný návrat pokud je v textu jiný znak, ted to funguje tak, že to z jakého koliv textu sečte ordinárky všech malých písmen a-z.

Nahlásit jako SPAM
IP: 91.139.9.–
MilanL+1
Grafoman
27. 7. 2018   #3
-
0
-

otázkou je k čemu to chceš použít, jestli chceš zakodovat text do cisla tak to nebude fungovat bo ten výsledek může byt stejný pro vice textů

Nahlásit jako SPAM
IP: 91.139.9.–
oxidián0
Grafoman
27. 7. 2018   #4
-
0
-

#3 MilanL
Pisnu ti na mail. Napsal jsem to v Delphi.

Nahlásit jako SPAM
IP: 78.45.195.–
oxidián0
Grafoman
29. 7. 2018   #5
-
0
-

Udělal jsem to jak si říkal, dal jsem tam ty menší rozsahy 26*26 a 26*26*26, ale zjistil jsem že poslední předpona (zoo) nevyjede. A to ani pokud navýším limity:

const FROM = 26*26+26+1;
const UPTO = 17576; // 26*26*26
const MAXIMUM = 354080;
Nahlásit jako SPAM
IP: 78.45.195.–
Kit+15
Guru
29. 7. 2018   #6
-
0
-

#5 oxidián
Netuším sice, k čemu to potřebuješ, ale nechtěl bys místo toho zkusit třeba CRC32 nebo MD5?

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:fd99:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
oxidián0
Grafoman
29. 7. 2018   #7
-
0
-

#6 Kit
Řídím se filosofií že kód napsaný přesně na míru je nejvýkonnější, protože ho přizpůsobím specifickým zvyklostem daného jazyka. Mě jde o zkrácení stringu. MD5 k tomu není vhodný.

Nahlásit jako SPAM
IP: 78.45.195.–
oxidián0
Grafoman
29. 7. 2018   #8
-
0
-

Přišel jsem na chybu. Limity pro smyčku mají být:

const FROM = 26*26+26+1;
const UPTO = 26*26*26+FROM;
Nahlásit jako SPAM
IP: 78.45.195.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý