Jump to content

Tab beszúrása guiLabel-be


Recommended Posts

Van egy ilyen kód:

guiCreateLabel(1, 1, 100, 100, "elso\tmasodik\nharmadik\tnegyedik", false) --én úgy tudom hogy a \t a tab.

Ez nem működik, nem ad ki semmit. hogyan lehetne megcsinálni?

Ha így csinálom:

elso = "elso"
masodik = "masodik"
harmadik = "harmadik"
negyedik = "negyedik"
text = elso..string.rep(" ", 10-utfLen(elso))..masodik
text = text.."\n"..harmadik..string.rep(" ", 10-utfLen(harmadik))..negyedik

Akkor azért nem jó, mert a szóköz nem egyenlő hosszú karakter az "e"-vel vagy "k"-val vagy igazából bármelyik betűvel!

 

Előre is köszi a segítséget!

Link to comment
local window = guiCreateWindow(30, 30, 500, 500, "Teszt", false)
local tab = guiCreateTabPanel(0, 20, 500, 500, false, window)
guiCreateTab( "Teszt1", tab) 
guiCreateTab( "Teszt2", tab) 
guiCreateTab( "Teszt3", tab) 
guiCreateTab( "Teszt4", tab) 
guiCreateTab( "Teszt5", tab) 
guiCreateTab( "Teszt6", tab) 

Szerintem ez kell neked, de ha tévedek nyugodtan írj

Link to comment

https://forum.multitheftauto.com/topic/75680-tut-Lua-strings/

Elviekben a \v meg a \t-nek kéne lennie erre a megoldásnak gyakorlatban meg nem igazán működnek sem guiban sem pedig dxDrawra :D 

local spaces = 10
tab = function(text)
    local str = ""
    local start = 0
    
    if text:find("\t") then
        while true do
            if text:find("\t", start) then
                local a = text:find("\t", start)
                str = str .. text:sub(start, a) .. (" "):rep(spaces)
                start = a + 1
            else
                str = str .. text:sub(start, #text)
                break
            end
        end
    else
        return text
    end
        
    return str
end

local sx, sy = guiGetScreenSize()
addEventHandler("onClientRender", root,
    function()
        local text = tab("asd\tasd\ta")
        dxDrawText(text, 0, 0, sx, sy, tocolor(255,255,255,255), 1, "pricedown", "center", "center")
    end
)

--Ennek elviekben helyetesítenie kéne a \t-t megtudod adni mennyi space-t rakjon 1-1 string közé jah és nem ajánlott renderben használni :D 

 

Ha ez sem az amit keresel akkor írj újra xd

Link to comment

Ömm... Igen. Ugyan az a probléma, ha több sor van pl.:2 akkor elcsúszik az első a másodikhoz képest, mivel ha a két sorban nem ugyan az van írva akkor más hosszúságú lesz. Mert egy szóköz hossza inkább egy "i" betűre hasonlít, mint egy "O"-ra.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...