Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.
Kulan

Kulan

Medlem
  • Plats Varberg
  • Registrerad 2005-06-05
  • Senast aktiv 2014-12-25
  • Antal inlägg 16

Foruminlägg

De senaste inläggen Kulan har skrivit i forumet.

  • Medlem
  • Varberg
  • 2014-01-05 08:34

Det hjälpte inte med att OS X fick hantera vila, efter att den externa HDD varit i vila så uppstår samma problem igen.

  • Medlem
  • Varberg
  • 2014-01-04 22:51

Tack för hjälpen, har provat att söka på detta själv men uppenbarligen sökt på fel sätt. ?
Tyvärr innehöll det ingen lösning vad jag kunde hitta, har testat med omstart och det var precis som någon skrev. Efter omstart fungerar det som det skall till nästa gång disken går ner i vila.

Har testat att ställa in i systeminställningar att OS X skall hantera vila på HDD, får se om det kan lösa problemet.

  • Medlem
  • Varberg
  • 2014-01-04 10:18

Har en extern G-Drive ansluten till min Mac Mini med Os X Server (Mavericks). Jag har problem med att mina användare inte får radera filer, skapa mappar på dessa delade mappar.
Vi får upp följande felmeddelande,

. Någon som har koll på rättigheter och skulle kunna hjälpa mig kanske?
Funkar inte bilden ovan så är länken denna, http://goo.gl/VAyclp

  • Medlem
  • Varberg
  • 2011-07-13 11:32

Håller på att slutföra en inlämningsuppgift till skolan men jag har ett problem som jag inte får till. Koden nedan fungerar förutom när jag skall "Lista alla filmer", om jag givit en film ett namn innehållande ett mellanslag så listas inte texten efter mellanslag. Är det någon som kan ge mig en ledtråd i rätt riktning vore det snällt. Denna fråga kommer även att ställas på MacWorldsforum eftersom jag inte vet hur många som är här och läser nu under sommaren.

/*
 Programmering B (PROC1408) – Inlämningsuppgift 2
 Skapa ett registerprogram som kan lagra information om filmer i en fil. Varje
 post i registret ska bestå av en struct. Programmet måste därför kunna hantera
 structer som består av typ och titel. Exempel på typ kan vara DVD, Blueray eller
 VHS. Programmet ska även kunna söka efter filmtitlar och därefter informera
 användaren om filmen finns, samt i vilket format den finns tillgänglig. Följande
 meny skall kunna användas i programmet:
 
 void meny()
 {
 cout<<"\\\\\\\\ Meny ////////"<<endl;
 cout<<"1. Lägg till film"<<endl;
 cout<<"2. Lista alla filmer"<<endl;
 cout<<"3. Sök titel"<<endl;
 cout<<"4. Avsluta "<<endl<<endl;
 cout<<"Ange val : ";
 }
//  main.cpp
//  InlaÃàmningsuppgift 2
//
//  Created by Johan Nilsson on 2011-07-09.
//  Copyright 2011 Consultec Byggprogram AB. All rights reserved.
*/

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iomanip>
using namespace std;

struct Register {
    string titel;
    string typ;
};

void meny();
void nyPost(vector <Register>& mittRegister);
void skrivLista(vector <Register> mittRegister, char filnamn[]);
void sokResultat(vector<Register> resultatSokning, char filnamn[]);
ofstream utFil;
ifstream inFil;

int main (int argc, const char * argv[])
{
    vector <Register> mittRegister;
    bool fortsatt = true;
    int menyVal;
    cout << "Ange filens namn: ";
    char filnamn[30];
    cin.get(filnamn, 30);
    cin.ignore(1000, '\n');
    int antalPoster = 0;
    utFil.open(filnamn, ios::app);
    if (!utFil) {
        cout << "Filen går ej att öppna.";
        exit(1);
    }
    
    while (fortsatt == true) {
        meny();
        cin >> menyVal;
        cin.ignore(1000, '\n');
        switch (menyVal) {
            case 1:
                nyPost(mittRegister);
                for (int i = antalPoster; i < mittRegister.size(); i++) {
                    utFil << mittRegister.at(i).titel << '\t' << mittRegister.at(i).typ << endl ;
                    antalPoster++;
                }
                break;
            case 2:
                skrivLista(mittRegister, filnamn);
                break;
            case 3:
                sokResultat(mittRegister, filnamn);
                break;
            case 4:
                utFil.close();
                fortsatt = false;
                break;
            default:
                cout << "Felaktig inmatning.";
                break;
        }
    }
    
    
    
    return 0;
}

void meny()
{
    cout<<"\\\\\\\\\\\\\\ Meny ////////"<<endl;
    cout<<"1. Lägg till film"<<endl;
    cout<<"2. Lista alla filmer"<<endl;
    cout<<"3. Sök titel"<<endl;
    cout<<"4. Avsluta "<<endl<<endl;
    cout<<"Ange val : ";
}

void nyPost(vector <Register>& mittRegister)
{
    cout << "Avsluta inmatningen med #.\n";
    cout << "titel: ";
    Register nyRegisterPost;
    getline(cin, nyRegisterPost.titel);
    while (nyRegisterPost.titel != "#") {
        
    //Kontroll så att alla inmatade typer skrivs på samma sätt
    bool correct = false;
        do {
            cout << "Typ av media (DVD, Blueray, VHS): ";
            getline(cin, nyRegisterPost.typ);
            if (nyRegisterPost.typ == "DVD" || nyRegisterPost.typ == "VHS" ||nyRegisterPost.typ == "Blueray" || nyRegisterPost.typ == "#") {
                mittRegister.push_back(nyRegisterPost);
                correct = false;
            }
            else {
                cout << "Felaktigt format, försök igen. \n";
                correct = true;
            }

        } while (correct == true);

        
        cout << "titel: ";
        getline(cin, nyRegisterPost.titel);
    }
}

void skrivLista(vector <Register> mittRegister, char filnamn[])
{
    Register k;
    inFil.open(filnamn);
    //skapa 2 tomrader innan resultat
    for (int i = 0; i < 2; i++) {
        cout << '\n';
    }
    while (inFil >> k.titel) {
        inFil.ignore(1000, '\t');
        getline(inFil, k.typ);
        cout << setw(20) << left << k.titel  << left << k.typ << endl ;
    }
    //skapa 2 tomrader efter resultat
    for (int i = 0; i < 2; i++) {
        cout << '\n';
    }
    inFil.close();
}

void sokResultat(vector<Register> resultatSokning, char filnamn[])
{
    bool hittad = false;
    Register k;
    inFil.open(filnamn);
    cout << "Skriv in titeln du söker: \n";
    string soktTitel;
    string filmTyp;
    getline(cin, soktTitel);
    while (inFil >> k.titel) {
        inFil.ignore(1000,'\t');
        getline(inFil, k.typ);
        if (k.titel == soktTitel) {
            filmTyp = k.typ;
            hittad = true;
        }
    }
    if (hittad) {
        cout << "\nFilmen finns och har formatet " << filmTyp << '.' << endl ;
    }
    else{
        cout << "\nFilmen finns inte i registret.\n";
    }
    inFil.close();
}

  • Medlem
  • Varberg
  • 2011-06-22 21:55

Behöver lite hjälp att förstå vad jag skall skicka till min sorteringsfunktion.
Det som jag gjort nu är att jag skapat tre olika sorteringsfunktioner men jag antar att detta skulle kunna göras med bara en funktion om jag skickar vilket värde jag vill sortera på till funktionen.

Nu ser min funktion ut på detta viset "void sorteratTitel(CdSamling data[], int antal)" och här vill jag då sortera på strängen titel och antagligen kan jag skicka in det till funktionen vilket skulle innebära att jag bara ändrar det indatat i mina switch/case satser och skickar till samma funktion.

Tack på för hand!

PS! Programmet fungerar som tänkt nu men med lite för mycket kod, utskriften skall också hanteras som en funktion sedan, har inte gjort klart den bara.

#include <iostream>
using namespace std;

struct CdSamling {
    string titel;
    string artist;
    int antalLatar;
};
CdSamling nyCd();
void sorteratTitel(CdSamling data[], int antal);
void sorteratArtist(CdSamling data[], int antal);
void sorteratTracks(CdSamling data[], int antal);

int main (int argc, const char * argv[])
{
    const int ANTAL = 100;
    CdSamling minSamling[ANTAL];
    bool fortsatt = true;
    char val;
    char nySkiva = 'J';
    char antalPoster = 0;
    
    do {
    cout << "\\\\\\\\ MENY ////\n";
    cout << "1. Mata in skivdata. \n";
    cout << "2. Sortera på skivtitel. \n";
    cout << "3. Sortera på artist.\n";
    cout << "4. Sortera på antal spår. \n";
    cout << "0. Avsluta.\n";
    cin >> val;
    cin.ignore(1000, '\n');
    
    switch (val) {
        case '1':
            
                for (int i = antalPoster; i < ANTAL; i++) {
                    if (nySkiva == 'J' || nySkiva == 'j') {
                    cout << "Skiva " << i + 1 << endl ;
                    minSamling[i] = nyCd();
                    antalPoster++;
                    cout << "Ny skiva (J/N)?\n";
                    cin >> nySkiva;
                    cin.ignore(1000, '\n');                    }
                }
            nySkiva = 'J';
            break;
            
        case '2':
            sorteratTitel(minSamling, antalPoster);
            for (int i = 0; i < antalPoster; i++) {
                cout << minSamling[i].titel << endl ;
            }
            break;
            
        case '3':
            sorteratArtist(minSamling, antalPoster);
            for (int i = 0; i < antalPoster; i++) {
                cout << minSamling[i].artist << endl ;
            }
            break;
            
        case '4':
            sorteratTracks(minSamling, antalPoster);
            for (int i = 0; i < antalPoster; i++) {
                cout << minSamling[i].antalLatar << endl ;
            }
            break;
            
         case '0':   
            fortsatt = false;
            break;
            
        default:
            cout << "Felinmatning.";
            break;
    }
        } while (fortsatt == true);
    return 0;
}

CdSamling nyCd()
{
    CdSamling p;
    cout << "Skivtitel:\n";
    getline(cin, p.titel);
    cout << "Artist\n";
    getline(cin, p.artist);
    cout << "Antal spår\n";
    cin >> p.antalLatar;
    cin.ignore(1000, '\n');
    return p;
}

void sorteratTitel(CdSamling data[], int antal)
{
    for (int m = 1; m < antal; m++) {
        int pos = m;
        CdSamling temp = data[m];
        while (pos > 0 && data[pos-1].titel > temp.titel) {
            data[pos] = data[pos-1];
            pos--;
        }
        data[pos] = temp;
    }
}
void sorteratArtist(CdSamling data[], int antal)
{
    for (int m = 1; m < antal; m++) {
        int pos = m;
        CdSamling temp = data[m];
        while (pos > 0 && data[pos-1].artist > temp.artist) {
            data[pos] = data[pos-1];
            pos--;
        }
        data[pos] = temp;
    }
}
void sorteratTracks(CdSamling data[], int antal)
{
    for (int m = 1; m < antal; m++) {
        int pos = m;
        CdSamling temp = data[m];
        while (pos > 0 && data[pos-1].antalLatar > temp.antalLatar) {
            data[pos] = data[pos-1];
            pos--;
        }
        data[pos] = temp;
    }
}
  • Medlem
  • Varberg
  • 2011-06-20 00:21

Nu när du ändå tittat på koden kanske man kan få en bedömning? Det iofs redan försent jag skickade in den till läraren idag.Men kan vara kul att höra vad du tycker.

  • Medlem
  • Varberg
  • 2011-06-20 00:18

Tack för att du tog dig tid att testa, jag har klippt och klistrat den koden så jag vet inte kanske kommit med något
skräp som gjort att det blev som det blev.
Det jag gjorde för att få ordning på det var att jag kopierade rad för rad utan att ta med blanktecken från vänsterkanten (indrag osv).
Sedan fungerade det hos mig också, men det har varit otroligt irriterande och tidsödande innan jag kom på det.

  • Medlem
  • Varberg
  • 2011-06-19 19:33

Hej!

Håller på med en nybörjarkurs i C++ och använder Xcode för att koda i. Det har fungerat kanon men när jag försöker köra koden här nedanför kommer det i bland bara texten MENY, eller så kommer det ingenting alls. Programmet fortsätter att köra men jag kan inte göra några inmatningar.

Skickar jag däremot över den kompilerade filen i mappen Products till terminalen med högerklick och Open with external editor fungerar det som det skall.

Till saken hör att jag har gjort 40 - 50 olika exempel tidigare och då har det fungerat.

Någon som har en idé om det kan vara någon inställning eller något som gör detta?

Det är Xcode 4.0.2 som jag använder.

//  Skapa en struct som heter Person. Person ska kunna hantera data för namn och
//  ålder. Person ska lagras i ett fält Familjemedlemmar med plats för fem personer.
//  Följande funktioner ska ingå i programmet:
//  nyPerson() Inläsning av namn och ålder.
//  sorteraAlder() Sorterar familjemedlemmar efter ålder.
//  visaPerson() Skriver ut namn och ålder på Person.
//  Det ska även finnas en meny som kan hantera ovanstående funktioner.
//  main.cpp
//  InlaÃàmningsuppgift 1
//
//  Created by Johan Nilsson on 2011-06-16.
//  Copyright 2011 Consultec Byggprogram AB. All rights reserved.
//

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

struct Person {
    string namn;
    int alder;
};

Person nyPerson();
void sorteraAlder(Person p[], int antal, string& sort);
void visaPerson(Person p, string sort);

int main ()
{
    const int ANTAL = 2;
    Person familjeMedlemmar[ANTAL];
    char menyVal;
    string sorterad = "osorterad";
    bool fortsatt = true;
    do {
    cout << "   MENY\n";
    cout << "1. Mata in person och ålder (5 st). \n";
    cout << "2. Sortera personerna efter ålder.\n";
    cout << "3. Visa lista med personer.\n";
    cout << "0. Avsluta.\n";
    cin >> menyVal;
    cin.ignore(1000, '\n');
    
    switch (menyVal) {
        case '1':
            for (int i = 0; i < ANTAL; i++) {
                familjeMedlemmar[i] = nyPerson();
                if (i == ANTAL-1) {
                    cout << "Du har nu matat in " << ANTAL << '/' << ANTAL << " personer.\n";
                }
            }
            break;
        
        case '2':  
            cout << "Sorterar lista...\n";
            sorteraAlder(familjeMedlemmar, ANTAL, sorterad);
            cout << "KLART, listan är sorterad!\n";
            break;
            
        case '3':
            cout << "Listan är nu " << sorterad << ".\n";
            for (int i = 0; i < ANTAL; i++) {
                visaPerson(familjeMedlemmar[i], sorterad);
            }
            break;
        
        case '0':
            fortsatt = false;
            break;        

        default:
            cout << "Felinmatning! \n\n" ; 
            break;
    }
    }while (fortsatt);
    return 0;
}
//  nyPerson() Inläsning av namn och ålder.
Person nyPerson()
{
    Person p;
    cout << "Skriv in namn: " << endl ;
    getline(cin, p.namn);
    cout << "och ålder: ";
    cin >> p.alder;
    cin.ignore(1000, '\n');
    return p;
}
//  sorteraAlder() Sorterar familjemedlemmar efter ålder.
void sorteraAlder(Person p[], int antal, string& sort)
{
    for (int m = 1; m < antal; m++) {
        int pos = m;
        Person temp = p[m];
        while (pos > 0 && p[pos-1].alder > temp.alder) {
            p[pos] = p[pos-1];
            pos--;
        }
        p[pos] = temp;
    }
    sort = "sorterad";
}
//  visaPerson() Skriver ut namn och ålder på Person.
void visaPerson(Person p, string sort)
{
    cout << left << setw(30) << p.namn << setw(3) << p.alder << endl ;
}
  • Medlem
  • Varberg
  • 2010-08-07 08:58

Själv använder jag 1Password och kan bara rekommendera detta. Nu har dom även en beta för Windows som jag använder på min jobbdator. Allt synkas snyggt med hjälp av Dropbox, det är där jag sparar min nyckelringsfil. I och med att jag har min fil på Dropbox kan jag komma åt den från vilken dator som helst bara jag har koll på min dropboxinloggning, detta med hjälp av deras funktion 1Password Anywhere.

Kan bara rekommendera detta program, själv köpte vi en familjelicens för 5 användare. Alla har det både i sina datorer och iPhones.

  • Medlem
  • Varberg
  • 2010-07-28 21:13

Kommer att ta med mig regnkläder och stå där och se dum ut, vi ses på avenyn.

  • Medlem
  • Varberg
  • 2008-11-22 11:04

Jag har IS på min telefon sedan ca 3 månader tillbaks och jag tycker att det fungerar riktigt bra, innan när jag körde utan film behövde skärmen torkas av minst en gång om dagen. Med IS behövs det inte, det enda som jag tyckte var struligt var att montera baksidan, det har inte blivit 100% på dom rundade hörnen tyvärr.
Men jag är helt klart nöjd med produkten, tycker inte att det blir sämre ljus i skärmen och telefonen blir greppvänligare på grund av bättre friktion.

/Johan

  • Medlem
  • Varberg
  • 2007-08-08 10:00

Har beställt en 24" 2,4.

Leverans mellan den 17 - 20/8, hoppas på fredagen.

Senast redigerat 2007-08-09 12:33
  • Medlem
  • Varberg
  • 2007-07-27 18:54

Jag har precis stoppat in en WD 250 Gb i min MB, funkar fint. Skall man köra Parallels är behovet av plats lite större än dom 80 Gb jag hade tidigare,

  • Medlem
  • Varberg
  • 2006-03-04 06:46
Ursprungligen av Marcus F:

Skriv ine såna saker om du vill ha hjälp. Jag kan samtidigt tycka att allebaggen också är otrevlig ibland.

Topic: Att låtarna är gråmarkerade beror på att du har på "automatisk uppgradering". Stäng av detta till förmån för "manuell" dito. Då kan du ta bort spåren enbart från din iPod och låta dem ligga kvar i iTunes.
Hoppas det är till någon hjälp.

Det var ett betydligt bättre svar, tänk om någon sagt det tidigare istället för att kasta skit. Alla kan inte vara "kungar" på allt.

  • Medlem
  • Varberg
  • 2005-12-30 15:33

Blaupunkt har en kabel som kopplas in i cd-växlarstyrningen vilket gör att man kan byta låtar och spellistor via stereon, den laddar även Ipod:en.

//Kulan